思路:
创建一个视图,从身份证号码中提取年月(用substr(身份证号字段,输出第一个字符串所在位置,输出个数))
创建一个视图,从身份证号码中提取年月(用substr(身份证号字段,输出第一个字符串所在位置,输出个数))
解决方案 »
- 字符串拆分
- Oracle解析select *语句的具体流程
- 除了Alter Table语句外,还有其他方法可以停用触发器么?
- alter system配置系统参数的问题
- oracle 问题,在线等。
- MS SQL 数据转成oracle的问题
- 在OEM客户端方案中的表中数据为什么不能及时更新,我用sqlplus插入了几行数据,可是在OEM中还是看不到,可是用查询语句表明的确已经插入
- oracle-01115 I/O错误,在线等待,求教高手
- 帮帮忙吧!无法登录oracle9i?用户名和密码是什么?
- 请问,那位大哥有oracle的书,电子版
- 怎么找不到数据库呢!
- oracle 没有 full join ?
Oracle具体函数可以详细些不?
----------
04-6月 -54
02-5月 -87
08-8月 -88这是按"林林"方法输出的结果的格式. 可以改成如"19540604"吗?
15,TO_CHAR(SYSDATE,'YYYY')-
DECODE(GREATEST(SUBSTR(身份证号,7,2) ,TO_CHAR(SYSDATE,'YY')),SUBSTR(身份证号,7,2),CONCAT('19',SUBSTR(身份证号,7,2)),TO_CHAR(SYSDATE,'YY'),CONCAT('20',SUBSTR(身份证号,7,2)))) "AGE" FROM DUAL;测试:SELECT DECODE(LENGTH('400412790204125'),18,TO_CHAR(SYSDATE,'YYYY')-SUBSTR('400412790204125',7,4),
15,TO_CHAR(SYSDATE,'YYYY')-
DECODE(GREATEST(SUBSTR('400412790204125',7,2) ,TO_CHAR(SYSDATE,'YY')),SUBSTR('400412790204125',7,2),CONCAT('19',SUBSTR('400412790204125',7,2)),TO_CHAR(SYSDATE,'YY'),CONCAT('20',SUBSTR('400412790204125',7,2)))) "AGE" FROM DUAL;
AGE
----------
25SELECT DECODE(LENGTH('40041219780204125x'),18,TO_CHAR(SYSDATE,'YYYY')-SUBSTR('40041219780204125x',7,4),
15,TO_CHAR(SYSDATE,'YYYY')-
DECODE(GREATEST(SUBSTR('40041219780204125x',7,2) ,TO_CHAR(SYSDATE,'YY')),SUBSTR('40041219780204125x',7,2),CONCAT('19',SUBSTR('40041219780204125x',7,2)),TO_CHAR(SYSDATE,'YY'),CONCAT('20',SUBSTR('40041219780204125x',7,2)))) "AGE" FROM DUAL;
AGE
----------
26