SQL查询中如何将INT类型DelDateKey字段转为DD/MM/YYYY格式日期
INT类型字段转DATE类型实现DD/MM/YYYY格式展示
INT类型的日期维度键可以正常转换为DATE类型,最终输出DD/MM/YYYY格式的日期结果。
你当前使用的是SQL Server语法(top子句为SQL Server特性),这类业务库/数仓中的[DelDateKey]通常为YYYYMMDD规则存储的整数(例如20240620对应2024年6月20日),转换逻辑为:先将整数转为8位长度字符串,再转为DATE类型,最后通过格式化函数输出指定格式。
修改后的可直接运行脚本如下:
select CONVERT(VARCHAR(10), CAST(CAST([DelDateKey] AS VARCHAR(8)) AS DATE), 103) AS [DelDateKey], sum([Order]), sum([ACS]), sum([Pick]), sum([DIS]) FROM [pw].[WA].[Sales] WHERE [IdKey] = 1 AND [DelDateKey] IN ( SELECT DISTINCT TOP 7 [DeldateKey] FROM [pw].[WA].[Sales] ORDER BY [DeldateKey] DESC ) GROUP BY [DelDateKey]
- 脚本中
CONVERT函数的第三个参数103是SQL Server内置的DD/MM/YYYY日期格式编码,无需额外调整即可输出目标格式 - 如果你的
[DelDateKey]存储规则不是YYYYMMDD整数,只需要调整CAST([DelDateKey] AS VARCHAR(8))后的日期解析逻辑即可适配
内容的提问来源于stack exchange,提问作者kirstysmith589
相关产品推荐
相关产品推荐

