删除varchar列的最后n个字符

时间:2018-10-04 13:12:46

标签: postgresql

我想知道是否存在一种“紧凑”的方式来从PostGreSQL的列中删除最后n个字符。

我有一个列为DATE的格式如下:yyyy-MM-dd。

我更改了表格以使该列成为varchar,替换了所有不必要的破折号,但是由于我希望varchar仅显示yyyyMM,所以我想不出一种快速可靠的方法来删除最后两个字符。

“快速而可靠”是指不会要求我使用临时表的东西。

预先感谢

1 个答案:

答案 0 :(得分:2)

使用left(),例如:

select 
    left('20181004', 6),    -- get 6 leftmost characters
    left('20181004', -2)    -- or remove 2 last ones

  left  |  left  
--------+--------
 201810 | 201810
(1 row)