web-dev-qa-db-fra.com

Comment convertir un entier en chaîne dans le cadre d'une requête PostgreSQL?

Comment convertir un entier en chaîne dans le cadre d'une requête PostgreSQL?

Ainsi, par exemple, j'ai besoin de:

SELECT * FROM table WHERE <some integer> = 'string of numbers'

<some integer> peut être compris entre 1 et 15 chiffres.

90
spyd3rr

Étant donné que le nombre peut comporter jusqu'à 15 chiffres, vous pourrez convertir un nombre entier de 64 bits (8 octets). Essaye ça:

SELECT * FROM table
WHERE myint = mytext::int8

L'opérateur de conversion :: est historique mais pratique. Postgres est également conforme à la syntaxe standard SQL

myint = cast ( mytext as int8)

Si vous voulez comparer un texte littéral avec un int, convertissez-le int en texte:

SELECT * FROM table
WHERE myint::varchar(255) = mytext
91
Bohemian

Vous pouvez convertir un entier en chaîne de cette façon

intval::text

et ainsi dans votre cas

SELECT * FROM table WHERE <some integer>::text = 'string of numbers'
103
Brugolo

Vous pourriez faire ceci:

SELECT * FROM table WHERE cast(YOUR_INTEGER_VALUE as varchar) = 'string of numbers'
3
djgupta