Come posso convertire un intero in una stringa come parte di una query PostgreSQL?
Quindi, ad esempio, ho bisogno di:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
dove <some integer>
può essere lungo da 1 a 15 cifre.
Come posso convertire un intero in una stringa come parte di una query PostgreSQL?
Quindi, ad esempio, ho bisogno di:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
dove <some integer>
può essere lungo da 1 a 15 cifre.
Risposte:
Poiché il numero può contenere fino a 15 cifre, ti consigliamo di eseguire il cast su un numero intero a 64 bit (8 byte). Prova questo:
SELECT * FROM table
WHERE myint = mytext::int8
L' ::
operatore del cast è storico ma conveniente. Postgres è inoltre conforme alla sintassi standard SQL
myint = cast ( mytext as int8)
Se hai un testo letterale che vuoi confrontare con un int
, lancia il int
testo in:
SELECT * FROM table
WHERE myint::varchar(255) = mytext
myint::varchar(255) = mytext
e funziona. Grazie!
Puoi eseguire il cast di un numero intero su una stringa in questo modo
intval::text
e così nel tuo caso
SELECT * FROM table WHERE <some integer>::text = 'string of numbers'