我有一些被格式化为CYYMM的日期列(例如12012)。我想将它们转换为Server中的典型数据表示形式。
仅供参考。C代表世纪。
12012应在2020年至12日(2002年12月)
另一个
11210应该是2012-10年(2012年10月)。
我如何才能有效地完成这一任务,并确保1900年的安全。例如,我已经完成了这样的工作:
declare @dte int = 12012;
select '20' + left(substring(cast(@dte as char(5)), 2, 5),2) + '-' + right(@dte,2)但是我想知道是否有更多的本地解决方案不依赖于硬编码'20‘。
发布于 2022-05-23 17:22:08
假设第一个字符是1或0
declare @dte int = 02012;
Select left((@dte/10000+19),2)+stuff(right(@dte,4),3,0,'-')结果
1920-12https://stackoverflow.com/questions/72352417
复制相似问题