You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将存储为YYYYMMDD格式的INT类型日期列转换为DD/MM/YYYY格式

解决INT类型YYYYMMDD日期转DD/MM/YYYY格式的问题

直接用FORMAT函数处理INT类型的日期值行不通,因为FORMAT不会把纯数字自动识别为日期格式,得先把INT转成DATE类型再做格式化。给你几个可行的SQL写法:

  • 方法一:先转字符串再转DATE,最后用FORMAT格式化
SELECT FORMAT(CAST(CAST(date_int AS VARCHAR(8)) AS DATE), 'dd/MM/yyyy') AS formatted_date
FROM your_table
  • 方法二:用CONVERT指定风格码转DATE,再FORMAT
SELECT FORMAT(CONVERT(DATE, CAST(date_int AS VARCHAR(8)), 112), 'dd/MM/yyyy') AS formatted_date
FROM your_table
  • 方法三:不用FORMAT,直接用CONVERT两次转成目标格式
SELECT CONVERT(VARCHAR(10), CONVERT(DATE, CAST(date_int AS VARCHAR(8)), 112), 103) AS formatted_date
FROM your_table

原理很直白:INT类型的20501231只是个普通数字,必须先转成字符串'20501231',再转成DATE类型,这样FORMAT或者CONVERT才能识别它是日期,进而转成你要的31/12/2050格式。

内容的提问来源于stack exchange,提问作者user2286075

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:53:19