‘壹’ sql由身份证号计算出生日期和年龄
select datediff(day,convert(datetime,SUBSTRING (ID, 7, 4) + '-' + SUBSTRING (ID, 11, 2) + '-' + SUBSTRING (ID, 13, 2)) ,getdate())/360 from 员工信息表
‘贰’ sql如何用身份证检索年龄
身份证18位的,从第7到第11位是年份
right(number,12)去除前面6位
在left(上面的,4)取出最左边4位,用2011减
伪码就是下面这个
select 2011-left(right(number,12),4) from shenfenzheng
‘叁’ sql中,根据身份证号码截取出了出生日期,怎么获取当前年龄,精确到月、日
具体代码就不写了
思路如下
身份证18位 从多少位是年月日来着?大概是第7--15是年月日 substring()方法
获取当前年与日
两个日期转化为毫秒相减,相减后的毫秒转化为天数
给个小例子publicstaticvoidmain(String[]args){
CalendarnowDate=Calendar.getInstance(),oldDate=Calendar.getInstance();
nowDate.setTime(newDate());//设置为当前系统时间
oldDate.set(1990,5,19);//设置为1990年(6)月29日
longtimeNow=nowDate.getTimeInMillis();
longtimeOld=oldDate.getTimeInMillis();
long相隔天数=(timeNow-timeOld)/(1000*60*60*24);//化为天
System.out.println("相隔"+相隔天数+"天");
‘肆’ SQL用身份证号计算年龄命令
比如身份证号码或者出生日期在A1单元格,可以在B1输入以下公式:
(如果是其他单元格,相应改一下就行)
问题1:
=DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),(LEN(A1)=15)*19&"0-00-00"),TODAY(),"y")
问题2:
=CHOOSE(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2)+1,"女","男")
问题3:
=DATEDIF(TEXT(A1,"0-00-00"),TODAY(),"y")
‘伍’ sql语句:如何根据一个身份证的字段取出相应的年龄
select trunc(sysdate)-to_date(substr(id,6,8),'yyyymmdd') from al
‘陆’ 如何用sql语句通过 身份证号 查询年龄
身份证的年龄字段知道吧,查出来,用datediff算就知道了
15位18位给个case语句判断就行了
‘柒’ 如何写在身份证号码中提取年龄的sql语句
在身份证号码中提取年龄的sql语句可以参考下面的代码:
用字符串函数SubString(@str,@StartPos,@nLen)
DECLARE@PersonalIDVARCHAR(18)
SET@PersonalID='xxxxxx19491001xxxx'
SELECTCAST(substring(@PersonalID,7,8)ASSMALLDATETIME)--第7位开始,连续8位
(7)sql语句根据身份证号提取年龄扩展阅读:
SQL 语句举例
CREATE: 创建数据库和表等对象
DROP: 删除数据库和表等对象
ALTER: 修改数据库和表等对象的结构
SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据
COMMIT: 确认对数据库中的数据进行的变更
ROLLBACK: 取消对数据库中的数据进行的变更
GRANT: 赋予用户操作权限
REVOKE: 取消用户的操作权限
‘捌’ sql 语句查询 根据身份证查年龄统计,急!
这个好办:
select year(getdate())-year(cast(substring(@a,7,8) as datetime))
15位的身份证我就没见过了,你把15的身份证形式发给我,我给你个完整的语句
‘玖’ sql中根据身份证号来计算年龄
update person set age= year(getdate())-substring(sfzh,7,4)
这个命令有一点小错误。因为year() 结果是数值型。subs()结果是字符型。
改为:
update person set age= year(getdate())-val(substring(sfzh,7,4))