Как преобразовать целое число в строку как часть запроса PostgreSQL?

Как преобразовать целое число в строку как часть запроса PostgreSQL?

Так, например, мне нужно:

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

здесь <some integer> может быть от 1 до 15 цифр.

3 ответов


поскольку число может быть до 15 цифр, вы будете использовать для приведения к 64-битному (8-байтовому) целому числу. Попробуйте это:

SELECT * FROM table
WHERE myint = mytext::int8

на :: оператор бросания исторический но удобный. Postgres также соответствует стандартному синтаксису SQL

myint = cast ( mytext as int8)

вы можете привести целое число к строке таким образом

intval::text

и так, в вашем случае

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

вы могли бы сделать это:

выберите * из таблицы, где cast (YOUR_INTEGER_VALUE как varchar) = 'строка чисел'