日期:2014-05-18  浏览次数:20557 次

问一个出生年月与身份证比较的查询,帮帮忙,谢谢了!
问个查询,student表中有两个字段出生日期(birth)和身份证号(student_id),要查birth与student_id中出生日期不一样的所有数据,birth数据是19831126这个样子的数据,但是身份证号有的是15位有的是18位的应该怎么样写这个查询语句,谢谢了
我是用substring把身份证中出生年月这块得到,然后在和birth进行比较,但是有的student_id是15,有的是18位,在substring中劫取的位数不一样,这块应该怎么样判断,帮忙给出具体语句谢谢了

------解决方案--------------------
case len(student_id)
when 15 then '19 '+substring(student_id,7,6)
when 18 then substring(student_id,7,8)
end