我有一个PostgreSQL数据库,其主键列的类型为character varying length 32
。键应该是19 digit integer
,例如1234567891234567891
我想对PK列进行简单查询
SELECT *
FROM my_table
WHERE primary_key = 1234567891234567891
字符串
这给了我一个错误:
operator does not exist: character varying = bigint
型
我不能将列CAST
转换为bigint
,因为它总是19位数,所以我将数字转换为character varying
类型。
然而,由于我有一个很长的键列表,我更喜欢一个简洁的函数来转换它们,而不是逐行转换。这是我在此期间所做的:
SELECT *
FROM my_table
WHERE primary_key IN (CAST(1234567891234567891 AS character varying),
CAST(1234567891234567892 AS character varying),
/* ... so on so forth ... */
CAST(1234567891234567899 AS character varying))
型
我只是一个用户,所以我没有权限将列类型更改为数字(19)
1条答案
按热度按时间zd287kbt1#
你可以创建一个键数组,只投一次:
字符串