select
to_date(substr(CERTIFICATE_CODE,7,8),'%yyyy%mm%dd')
from
tb_csm_individual
where
CERTIFICATE_CODE='210102197908223722'
;这样就查出来了这个身份z号的出生日期;
下面的脚本就是计算当前日期减去出生日期求出来的生日
select
EXTRACT(year
FROM
to_date('2018-11-22','yyyy-mm-dd'))
-
EXTRACT(year
FROM
to_date(substr(CERTIFICATE_CODE,7,8),'yyyy-mm-dd'))
years
from
tb_csm_individual
where
CERTIFICATE_CODE='210102197908223722';
至于剩下的年龄区间楼主自己应该知道怎么求了把
sellect * from 表 where 身份z号 >='223154198802150000' and 身份z号<='224999154198802159999'
sql学习基础:
1、sql执行顺序。当sql逻辑复杂后,sql的执行顺序就会非常重要。
2、SQL ROW_NUMBER() OVER函数。用作分组排序,如SQL ROW_NUMBER() OVER函数的基本用法用法。
3、case when then else end。用作条件判断,比如将10、11、12、13……19、20岁的人群新生成一个字段‘年龄段’取值为10-20岁;聚合函数分别计算,如sum(case when 性别=‘男’
then 收入 end) as 收入_男,sum(case when 性别=‘n女’
then 收入 end) as 收入_女。
4、select时加标签。例如select出某一特征user_id时新建一个tag字段作为用户的标签。
5、差集运算。例如取A集合中不包含在B集合的用户,做差集。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)