提问者:小点点

我如何添加一个字符到指定的位置到字符串在MySQL?


我有一个varchar字段,存储类似20210331的日期

我需要将这些值更改为2021-03-31


共1个答案

匿名用户

这有点难看,但使用concatsubstr将实现这一点(将mycol替换为列的名称):

SELECT  CONCAT(
            SUBSTR(myCol, 1 , 4),
            '-',
            SUBSTR(myCol, 5 , 2),
            '-',
            SUBSTR(myCol, 7 , 2)
        )

输出:

2021-03-31

使用substr从列中获取子字符串,在本例中为字符:

  • 1-4(年)
  • 5-6(月)
  • 7-8(天)

concat然后通过将每个部分与中间的hypen连接,将这些连接(或组合)成单个字符串。