0.第一步:创建视图V_dangyuan_3:
select id,姓名,加入党组织日期,所在党委,所在党支部,
case
when year(getdate())-year(出生日期) between 0 and 30 then 'F:0 岁 ~ 30岁'
when year(getdate())-year(出生日期) between 31 and 35 then 'G:31岁 ~ 35岁'
when year(getdate())-year(出生日期) between 36 and 40 then 'H:36岁 ~ 40岁'
when year(getdate())-year(出生日期) between 41 and 45 then 'I:41岁 ~ 45岁'
when year(getdate())-year(出生日期) between 46 and 50 then 'J:46岁 ~ 50岁'
when year(getdate())-year(出生日期) between 51 and 55 then 'K:51岁 ~ 55岁'
when year(getdate())-year(出生日期) between 55 and 60 then 'L:55岁 ~ 60岁'
when year(getdate())-year(出生日期) between 61 and 65 then 'M:61岁 ~ 65岁'
when year(getdate())-year(出生日期) between 65 and 70 then 'N:65岁 ~ 70岁'
when year(getdate())-year(出生日期) between 71 and 99 then 'O:71岁 -岁'
end as 分类
FROM dangyuan
where isdate(出生日期)=1
1.第一步:查询执行成功。
2.第二步:执行失败。
为什么?从字符串转换日期和/或时间时,转换失败?
3.答案:视图的case语句需要再嵌套一层。仅仅在where部分限制条件还不够。
由于原始数据存在异常,通过where条件过滤。MSSQL仍然认为存在。
case isdate(出生日期) when 1 then
case 。。。