SELECT *, Age= datediff(yy,cast(case when substring(PersonalId,,) ') /*若第7位不是'1'或'2'则表示是15位身份证编码规则*/ then substring(PersonalId,,) ,) end as datetime),getdate()) FROM Student WHERE datediff(yy,cast(case when substring(PersonalId,,) ') then substring(P
IdentityNumber 是身份证号 年龄: ,), GETDATE()) / 365.25) as '推荐人年龄', 15位的身份证计算年龄: case when b.IdentityNumber IS null or b.IdentityNumber='' then '' ,), )) ,), )) else '' end as '推荐人年龄', 性别: ,) ) ) ) then '男' ,) ) ) ) then '女' else '' end as '推荐人性别',
在数据库的运用过程中,我们时常会碰到根据身份证号码来获取当前的年龄,今天我在这里写了一个函数,就是关于获取年龄的 create or replace function FUNC_COMPARE_SFZHM( sfzhm in varchar2) --输入身份证号码 return number /* 函数说明,返回值0为小于18岁:值为1是大于75岁:其他情况是返回值为2 在这个函数里用到了trunc(months_between()) 然后就是将身份证号码里的年月日组合成'yyyy-mm-dd'
), CONVERT(smalldatetime, SUBSTRING(b.IDCard, , )), ) AS BrithDate_Name, DATEDIFF(year, CONVERT(smalldatetime, SUBSTRING(ISNULL(b.IDCard, ), , )), GETDATE()) AS Age_Name, CASE LEFT(RIGHT(b.IDCard, ), ) % WHEN THEN '男' ELSE '女' END AS Sex_Name, b.IDCa
首先建立一个表如下: ======================= BirthDay datetime not null Age 通过公式计算得出 ======================= 以上是表的两个字段,通过BirthDay字段的数据自动生成Age字段 Age字段的公式如下: (case when (datediff(year,[BirthDay],getdate()) <> 0) then (ltrim(datediff(year,[BirthDay],getdate()))
mysql数据库获取年龄:TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE()) select * from (select name 姓名,TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE()) 年龄 from [表名] )a; sqlserver数据库获取年龄:DATEDIFF(yy,[出生日期字段],GETDATE()) select id AS 编号,SStudentName AS 姓名,DATEDIFF(yy,[出生日期字段],G
根据当前日期查询有多少人过生日 ,) = DATE_FORMAT(NOW(),'%m'); 查询price一样的人数 select * from people where price in (select price from people group by price having count(*)>1); 上面这段sql的性能有很大的局限性 上面这段代码的意思是以price为一组,结果大于1的price
select case left(idcard,2) when '11' then '北京市'when '12' then '天津市'when '13' then '河北省'when '14' then '山西省'when '15' then '内蒙古自治区'when '21' then '辽宁省'when '22' then '吉林省'when '23' then '黑龙江省'when '31' then '上海市'when '32' then '江苏省'when '33' then '浙江
SELECT t.identity_number '身份证号',SUBSTR(t.identity_number,1,2) AS "省份",SUBSTR(t.identity_number,7,8) "出生年月",CASE (SUBSTR(t.identity_number,17,1)%2)WHEN 1 THEN '男'WHEN 0 THEN '女'END AS '性别' FROM user t ; case when LENGTH(identity_number)
elect case left(idcard,2) when '11' then '北京市' when '12' then '天津市' when '13' then '河北省' when '14' then '山西省' when '15' then '内蒙古自治区' when '21' then '辽宁省' when '22' then '吉林省' when '23' then '黑龙江省' when '31' then '上海市' when '32' then '江苏省' when '33