【发布时间】:2014-08-10 06:55:00
【问题描述】:
这些数值需要转换成日期时间。这是出生日期,因此这些值不能是将来的值。我可以以某种方式实施不接受出生日期的规则,其值等于 100 岁以上吗??
201246-1324 040210-6387 111257-0647 040210-6387
结果:
2046-12-20 00:00:00.000 - 错误 2010-02-04 00:00:00.000 - 对 1957-12-11 00:00:00.000 - 右 2010-02-04 00:00:00.000 - 对
【问题讨论】:
-
你怎么知道第一个是2046,而不是1946?
-
第一个是 NOT 2046 - 它是 1946。因此我写错了。我知道是因为你不能知道未来的出生日期。
-
对不起,我应该问“为什么您的查询返回 2046?”;你能显示你正在使用的查询吗?这显然是一个两位数的年份截止问题。
-
选择转换 (datetime, Stuff(Stuff((substring([Cpr nr],1,6)),5,0,'.'),3,0,'.'), 4 ) 作为 CprasDate FROM [samletlifeline2]
标签: sql date datetime type-conversion