Comment convertir un entier en chaîne dans le cadre d'une requête PostgreSQL?
Donc, par exemple, j'ai besoin de:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
où <some integer>
peut contenir entre 1 et 15 chiffres.
Comment convertir un entier en chaîne dans le cadre d'une requête PostgreSQL?
Donc, par exemple, j'ai besoin de:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
où <some integer>
peut contenir entre 1 et 15 chiffres.
Réponses:
Étant donné que le nombre peut comporter jusqu'à 15 chiffres, vous devrez effectuer un cast en un entier de 64 bits (8 octets). Essaye ça:
SELECT * FROM table
WHERE myint = mytext::int8
L' ::
opérateur de casting est historique mais pratique. Postgres est également conforme à la syntaxe standard SQL
myint = cast ( mytext as int8)
Si vous souhaitez comparer un texte littéral avec un int
, transtypez le int
en texte:
SELECT * FROM table
WHERE myint::varchar(255) = mytext
myint::varchar(255) = mytext
et ça marche. Merci!
Vous pouvez convertir un entier en chaîne de cette manière
intval::text
et ainsi dans ton cas
SELECT * FROM table WHERE <some integer>::text = 'string of numbers'