2013-05-20 39 views
2

我有一个快速问题,我该如何才能在整数上使用SUBSTRING?我目前有标有“StoreID”的字段,其中包含一个5位整数(60008)。我试图使用SUBSTRING删除6当我查询这些信息。当我使用类似的东西:从一个整数列获取子字符串

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

是否有另一个功能,我可以在postgres中使用来完成我想要做的事情?

回答

4

,就可以把整

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

如果你有兴趣在8,使用modulo operator %

SELECT 60008%10000 

如果你想0008,功能right()适合你(在Postgres 9.1中引入):

SELECT right(60008::text, -1) 

或用模和to_char()

SELECT to_char(60008%10000, 'FM0000') 

FM修改删除空间填充。

+0

好答案!!! – manupi26