作为 PostgreSQL 查询的一部分,如何将整数转换为字符串?
因此,例如,我需要:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
where<some integer>
的长度可以是 1 到 15 位。
作为 PostgreSQL 查询的一部分,如何将整数转换为字符串?
因此,例如,我需要:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
where<some integer>
的长度可以是 1 到 15 位。
由于该数字最多为 15 位,因此您需要转换为 64 位(8 字节)整数。试试这个:
SELECT * FROM table
WHERE myint = mytext::int8
::
cast 运算符具有历史意义,但很方便。Postgres 也符合 SQL 标准语法
myint = cast ( mytext as int8)
如果您有要与 比较的文字文本int
,请将其int
转换为文本:
SELECT * FROM table
WHERE myint::varchar(255) = mytext
您可以通过这种方式将整数转换为字符串
intval::text
所以在你的情况下
SELECT * FROM table WHERE <some integer>::text = 'string of numbers'
你可以这样做:
SELECT * FROM table WHERE cast(YOUR_INTEGER_VALUE as varchar) = 'string of numbers'
如果某个可以存储为字符串的整数包含小数点,并且您想要将小数与小数进行比较,那么下面会有所帮助
select NULLIF('105.0', '')::decimal
SELECT * FROM table WHERE NULLIF('105.0', '')::decimal = 105.0
以下不会转换
select NULLIF('105.0', '')::int
select NULLIF('105.0', '')::integer
对于这个问题,您将只是过去
select 105.3::text