从整数列中获取子字符串

时间:2013-05-20 15:31:49

标签: postgresql integer substring

我有一个简单的问题,如何在整数上使用SUBSTRING?我目前有标记为“StoreID”的字段,其中包含一个5位整数(60008)。我在查询此信息时尝试使用SUBSTRING删除6。当我使用类似的东西时:

SUBSTRING('StoreID', 2, 6) 我收到错误,回复说SUBSTRING(integer,integer,integer)不存在。

我可以在postgres中使用另一个函数来完成我想要做的事情吗?

2 个答案:

答案 0 :(得分:6)

您可以转换整数

SUBSTR(cast (StoreId as text), 2,6)

答案 1 :(得分:3)

如果您对 8 感兴趣,请使用modulo operator %

SELECT 60008%10000

如果您想要字符串 0008 ,则函数right()适合您(Postgres 9.1中引入):

SELECT right(60008::text, -1)

或使用modulo和to_char()

SELECT to_char(60008%10000, 'FM0000')

FM修饰符会删除空格填充。