我在SQL查询中有以下函数:
to_char(currval('admatencionc."TMReporte_ID_reporte_seq"'::regclass),'FM0000')
它接受序列并转换为填充为0的char,但最近序列达到了10000。我正在寻找一种方法来压制第一个号码以再次获得0000号码。
我正在查看to_char的文档,但我找不到任何内容。
答案 0 :(得分:1)
由于您实际上似乎想要最后4位数字,而不是删除第一个字符,请使用right
:
SELECT right(to_char(..., ...), 4);
IMO它在数学上获得正确的值更清洁,然后将其转换为字符串。
SELECT to_char(currval('blah') % 10000, 'FM0000');