it-swarm.com.de

Wie konvertiere ich eine Ganzzahl in einen String als Teil einer PostgreSQL-Abfrage?

Wie konvertiere ich eine Ganzzahl in einen String als Teil einer PostgreSQL-Abfrage?

Also brauche ich zum Beispiel:

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

woher <some integer> kann zwischen 1 und 15 Ziffern lang sein.

90
spyd3rr

Da die Zahl bis zu 15 Stellen umfassen kann, müssen Sie eine 64-Bit-Ganzzahl (8 Byte) verwenden. Versuche dies:

SELECT * FROM table
WHERE myint = mytext::int8

Das :: cast operator ist historisch, aber praktisch. Postgres entspricht auch der SQL-Standardsyntax

myint = cast ( mytext as int8)

Wenn Sie Literaltext haben, den Sie mit einem int vergleichen möchten, setzen Sie das int in Text um:

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

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'
103
Brugolo

Sie könnten dies tun:

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