2

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

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

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

4

2 回答 2

6

您可以转换整数

SUBSTR(cast (StoreId as text), 2,6)
于 2013-05-20T15:38:23.260 回答
4

如果您对数字 8感兴趣,请使用模运算符%

SELECT 60008%10000

如果您想要 string 0008,该函数right()适合您(Postgres 9.1 引入):

SELECT right(60008::text, -1)

或与模和to_char()

SELECT to_char(60008%10000, 'FM0000')

FM修饰符删除空间填充。

于 2013-05-20T17:55:04.937 回答