Postgresql 从整数列获取子字符串

Postgresql 从整数列获取子字符串,postgresql,integer,substring,Postgresql,Integer,Substring,我有一个简单的问题,我如何在整数上使用子字符串?我目前有一个标记为“StoreID”的字段,其中包含一个5位整数(60008)。当我查询出这些信息时,我试图使用子字符串删除6。当我使用类似于: SUBSTRING('StoreID',2,6) 我得到一个错误,返回时说子字符串(integer,integer,integer)不存在 在postgres中是否还有其他函数可以用来完成我的任务?您可以强制转换整数 SUBSTR(cast (StoreId as text), 2,6) 如果您对编号8

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

SUBSTRING('StoreID',2,6)
我得到一个错误,返回时说
子字符串(integer,integer,integer)
不存在


在postgres中是否还有其他函数可以用来完成我的任务?

您可以强制转换整数

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

如果您对编号
8
感兴趣,请使用

如果您想要字符串
0008
,该函数非常适合您(在Postgres 9.1中引入):

或具有模和:

FM
修改器删除空格填充

SELECT 60008%10000
SELECT right(60008::text, -1)
SELECT to_char(60008%10000, 'FM0000')