sqlserver日期转换

日期字段如 20230301150037  转换成日期 

CONVERT(date, '日期') AS 日期  报错

SQL kaixun1234 发布于 2024-3-12 14:41
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
JL98Lv6中级互助
发布于2024-3-12 14:43(编辑于 2024-3-12 14:46)

要先把日期截出来再用CONVERT转换

SELECT CONVERT(DATE, LEFT(YourDateColumn, 8)) AS ConvertedDateFROM YourTableName

--------------------------------------------

或者拼接后转换

SELECT 

    CONVERT(DATETIME, 

        SUBSTRING('20230301150037', 1, 8) + '-' + 

        SUBSTRING('20230301150037', 9, 2) + '-' + 

        SUBSTRING('20230301150037' 11, 2) + ' ' + 

        SUBSTRING('20230301150037', 13, 2) + ':' + 

        SUBSTRING('20230301150037', 15, 2) + ':' + 

        SUBSTRING('20230301150037', 17, 2)

    ) AS ConvertedDateTime

  • kaixun1234 kaixun1234(提问者) SELECT CONVERT(DATE, LEFT(YourDateColumn, 10)) AS ConvertedDate FROM TableName 改成这样可以了
    2024-03-12 14:47 
  • 2关注人数
  • 79浏览人数
  • 最后回答于:2024-3-12 14:46
    请选择关闭问题的原因
    确定 取消
    返回顶部