使用t-sql从身份证号中提取生日

使用t-sql从身份证号中提取生日,一下是转换16位身份证号的例子,仅供参考。

create function getDateFromID(
@id char(15)
)
returns datetime
as
begin
declare @birthPart char(6);
set @birthPart = substring(@id,7,6);
declare @year int;
set @year = cast(left(@birthPart,2) as int);
if @year < 10
SET @year = 2000 + @year;
else
SET @year = 1900 + @year;

declare @birthday datetime;
set @birthday = cast(cast(@year as char(4)) + ‘-‘
+ substring(@birthpart,3,2) + ‘-‘
+ substring(@birthpart,6,2) as datetime)
return @birthday
end
GO
declare @id char(16)
set @id = ‘510106830328511‘;
print dbo.getDateFromID(@id)
时间: 2024-08-01 10:45:39

使用t-sql从身份证号中提取生日的相关文章

php提取身份证号码中的生日日期以及验证是否为未成年人的函数

php 提取身份证号码中的生日日期以及确定是否成年的一个函数.可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下: <?php //用php从身份证中提取生日,包括15位和18位身份证 function getIDCardInfo($IDCard){ $result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误 $result['flag']='';//0标示成年,1标示未成年 $result['tdate']='';//生日,格式如:2012-

根据身份证号中的日期判断某人是否已满18岁及是否已满60岁

在网上看到一个这样的算法,初时感觉很巧妙, if (DateTime.Now.Subtract(time).Days / 365 >60) 后来觉得似乎有问题: 比如说:假定今天是2014年7月28日,某人1954年7月28日出生,根据这样算法得到的结果是:21915/365=60.04109589041096,大于60.如果1954年7月29日出生,在你我看来,此人不满60岁,而得到的结果是21914/365=60.03835616438356,仍然大于60,显然不正确 好吧,按照人类的思路:

如何用oracle从身份证信息中提取出生日期?

在项目开发中,有从身份证信息中提取出生日期的需求: 1.对18位身份证,因为有多个表,所以用到它们的关联,示例如下: update pfapperosoninformation  p set p.pbirthday  = to_date(substr(p.perqualinumber,7,8),'YYYY-MM-DD') where p.pfpeopleid = ( select max(s.personnel_id) from app_institutions_personnel s, pfa

Java验证身份证号码及提取生日信息

Java学习第一站,导师给布置的作业题,验证身份证号码的合法性并提取生日信息.第一次写Java代码,第一次用博客记录学习进程,略紧张,对Java变量的命名还停留在C++的命名法阶段,吼吼~~现在开始正题.问题说明:目前,我国大部分地区都使用的是第二代身份证,第二代身份证号码的位数为18位.但公安部没有下发统一的关于停用第一代身份证的文件,第一代身份证中有15位和18位身份证号的混用.15位身份证号码:排列顺序从左至右依次为:6位数字地址码,6位数字出生日期码,3位数字顺序码,其中出生日期码不包含

sql 从房间号中或从含有几个&quot;-&quot;间隔的字符串中,截取楼层数,或截取第几个&quot;-&quot;后的前几个字符或数字

代号(房间号) 代号 1-1-101 1-5-502 15-3-2001 根据代号房间号截取后的楼层为 楼层 1 5 20 SELECT CASE WHEN len(RIGHT(代号, CHARINDEX('-', REVERSE(代号)) - 1))       = 3 THEN LEFT(RIGHT(代号, CHARINDEX('-', REVERSE(代号)) - 1), 1)       ELSE LEFT(RIGHT(代号, CHARINDEX('-', REVERSE(代号)) -

SQL 从身份证号得到出生日期、年龄、男女

select CONVERT(varchar(100), CONVERT(smalldatetime, SUBSTRING(b.IDCard, 7, 8)), 23) AS BrithDate_Name, DATEDIFF(year, CONVERT(smalldatetime, SUBSTRING(ISNULL(b.IDCard, 0), 7, 8)), GETDATE()) AS Age_Name, CASE LEFT(RIGHT(b.IDCard, 2), 1) % 2 WHEN 1 TH

输入身份证号,得到生日

Console.WriteLine("请输入你的身份证号码:"); string a = Console.ReadLine(); string year = a.Substring(6, 4); string month = a.Substring(10, 2); string day = a.Substring(12, 2); Console.WriteLine("你的生日是{0}年{1}月{2}日", year, month, day);

Excel中对身份证号的处理

一.从身份证号码中提取出生年月. 方法: 在目标单元格中输入公式:=TEXT(MID(C3,7,8),"00-00-00"). 解读: 1.MId函数的作用为:从文本字符传中指定的起始位置返回指定长度的字符串.语法结构为:=Mid(字符串,起始位置,长度). 2.Text函数的作用为:根据制定的数值格式将数值转换为文本. 3.公式:=TEXT(MID(C3,7,8),"00-00-00")中,首先用Mid函数提取C3单元格中从第7位开始,长度为8的字符,然后用Tex

使用ivx实现解析身份证号的经验总结

今天我们要制作一个demo,用户只需要输入身份证号,就能够获取到用户的生日,年龄,并计算出距离用户下一次过生日还有多少天.demo中主要用到了字符串的分割和函数组件,下面是具体的实现步骤.1.demo中计算的结果存放在一个通用变量中,我们将三个负责展示结果的文本组件直接与通用变量进行数据绑定.2.点击按钮后首先判断输入框的输入内容是否为一个身份证号,如果不是则提示用户核实.3.如果输入内容为身份证号则从中提取信息赋值到通用变量.身份证号的7-14位是出生日期码,其中7-10位是年份,11-12位