表 A 中有如下数据:
字段 IDCard:
341204198712292218
341204198612292219
341204850101217
341204851229216
341204841229216 等等,身份证号码有15和18位两种。假如找出:1985-10-01之后的号码 结果应该有:341204198712292218,341204198612292219,341204851229216这三个请问SQL语句怎么写
字段 IDCard:
341204198712292218
341204198612292219
341204850101217
341204851229216
341204841229216 等等,身份证号码有15和18位两种。假如找出:1985-10-01之后的号码 结果应该有:341204198712292218,341204198612292219,341204851229216这三个请问SQL语句怎么写
CASE WHEN LEN(IDCard)=18 THEN SUBSTRING(IDCard,7,8)
ELSE '19'+SUBSTRING(IDCard,7,6) END >'1985-10-01'
WHERE datediff(day,CASE WHEN LEN(IDCard)=18 THEN cast(SUBSTRING(IDCard,7,8) as datetime) ELSE cast('19'+SUBSTRING(IDCard,7,6) as datetime) END ,'1985-10-01')<0