sql >> Databasteknik >  >> RDS >> PostgreSQL

Jämför varchar med röding

Inte en bugg alls.
Castar strängen bokstavlig 'ab ' till character , det här är vad du får:

a

Per dokumentation:

character utan längdspecifikation motsvarar character(1) .

'a'::character(1) kommer sedan att tvingas till varchar (character varying ) för att testa för likhet med 'a'::varchar eller 'ab'::varchar och ger TRUE eller FALSE respektive.

I grund och botten finns det knappast någon bra anledning att använda character överhuvudtaget . Det är en äldre typ som har överlevt sin användbarhet. Använd bara text eller varchar .

  • Några nackdelar med att använda datatypen "text" för att lagra strängar?



  1. Hur gör man samma aggregering på varje kolumn, utan att lista kolumnerna?

  2. Konvertera hex i textrepresentation till decimaltal

  3. Hur gör man den rekursiva SELECT-frågan i MySQL?

  4. SQL Server Error 111:"...måste vara den första satsen i en frågebatch"