数据库是DB2的 certinum是身份证号
1select * from aa where convert(int,(year('2022')-substring(certinum,7,4)))>=60 错误-206
2select * from aa where (year(getdate())-substring(certinum,7,4)))>=60还是不行
应该怎么写呢?
根据身份证号获取年龄大于60岁的人
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- piaoyiren 2022-02-15 16:05关注
select substr(t.user_code ,7,8)
from table t
where substr(t.user_code ,7,8) < (select to_char(sysdate - interval '60' year,'yyyyMMdd') from dual)
说明:substr(t.user_code ,7,8) 截取身份证号里面的出生日期
select to_char(sysdate - interval '60' year,'yyyyMMdd') from dual --> 获取当前时间减去60年的时间
substr(t.user_code ,7,8) < (select to_char(sysdate - interval '60' year,'yyyyMMdd') from dual) --> 判断条件本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
- ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
- ¥66 如何制作支付宝扫码跳转到发红包界面
- ¥15 pnpm 下载element-plus
- ¥15 解决编写PyDracula时遇到的问题
- ¥15 有没有人能解决下这个问题吗,本人不会编程
- ¥15 plotBAPC画图出错
- ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
- ¥15 Python卡尔曼滤波融合
- ¥20 iOS绕地区网络检测