-- 問題1、、Postgresql中將數字轉換為字符串前面多出一個空格。
SELECT TO_CHAR('20181206' + 1, '99999999');
-- 解決1、使用如下,參數二前面加上fm就可以去掉空格了,如下:
SELECT TO_CHAR('20181206' + 1, 'fm99999999');
-- 設計思路
-- 1、使用當前的年月日生成yyyyMMdd格式的字符串
SELECT to_char(now(), 'yyyyMMdd')
-- 2、將生成的yyyyMMdd格式的字符串拼接00000
SELECT COALESCE(null, to_char(now(), 'yyyyMMdd')||'00000')
-- 3、將生成的yyyyMMdd格式的字符串拼接00000字符串轉換成數字類型,然后加1
SELECT to_number(COALESCE(null, to_char(now(), 'yyyyMMdd')||'00000'), '9999999999999') + 1
-- 4、將生成的數字類型的批次號轉換為字符串類型的,字符串最前面有一個空格
select to_char(to_number(COALESCE(null, to_char(now(), 'yyyyMMdd')||'00000'), '9999999999999') + 1, '9999999999999')
-- 5、將生成的數字類型的批次號轉換為字符串類型的,將批次號最前面的空格去掉
select to_char(to_number(COALESCE(null, to_char(now(), 'yyyyMMdd')||'00000'), '9999999999999') + 1, 'fm9999999999999')
