如何将整数转换为字符串作为PostgreSQL查询的一部分?
所以,例如,我需要:
SELECT * FROM table WHERE <some integer> = 'string of numbers'
其中<some integer>
的长度可以是1到15位。
答案 0 :(得分:94)
您可以用这种方式将整数转换为字符串
intval::text
等等你的情况
SELECT * FROM table WHERE <some integer>::text = 'string of numbers'
答案 1 :(得分:78)
因为数字最多可以是15位数,所以您需要转换为64位(8字节)整数。试试这个:
SELECT * FROM table
WHERE myint = mytext::int8
::
强制转换运算符是历史但方便的。 Postgres也符合SQL标准语法
myint = cast ( mytext as int8)
答案 2 :(得分:3)
您可以这样做:
SELECT * FROM table WHERE cast(YOUR_INTEGER_VALUE as varchar)='数字字符串'
答案 3 :(得分:0)
如果某些可以存储为字符串的整数包含小数点,并且您想将十进制与十进制进行比较,下面会有所帮助
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