Wie konvertiere ich eine Ganzzahl als Teil einer PostgreSQL-Abfrage in einen String?
So brauche ich zum Beispiel:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
wo <some integer>
kann irgendwo von 1 bis 15 Stellen lang sein.
Wie konvertiere ich eine Ganzzahl als Teil einer PostgreSQL-Abfrage in einen String?
So brauche ich zum Beispiel:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
wo <some integer>
kann irgendwo von 1 bis 15 Stellen lang sein.
Antworten:
Da die Zahl bis zu 15 Stellen umfassen kann, müssen Sie eine 64-Bit-Ganzzahl (8 Byte) umwandeln. Versuche dies:
SELECT * FROM table
WHERE myint = mytext::int8
Der ::
Darsteller ist historisch, aber praktisch. Postgres entspricht auch der SQL-Standardsyntax
myint = cast ( mytext as int8)
Wenn Sie wörtlichen Text haben, den Sie mit einem vergleichen möchten, setzen Sie int
den folgenden int
Text um:
SELECT * FROM table
WHERE myint::varchar(255) = mytext
myint::varchar(255) = mytext
und es funktioniert. Vielen Dank!
Auf diese Weise können Sie eine Ganzzahl in eine Zeichenfolge umwandeln
intval::text
und so in deinem Fall
SELECT * FROM table WHERE <some integer>::text = 'string of numbers'