server sql 将出生日期转为年龄_sql server 根据身份证号计算出生日期和年龄的存储过程...
我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄在sql中,具体的存储过程实现是这样的:/***********************************************根据身份证号计算出生日期和年龄Date:2017-10-15Author:xzl条件:身份证号码返回:出生日期和年龄*****************************************
我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄
在sql中,具体的存储过程实现是这样的:
/***********************************************
根据身份证号计算出生日期和年龄
Date:2017-10-15
Author:xzl
条件:身份证号码
返回:出生日期和年龄
***********************************************/
/***
*根据身份证号计算出生日期和年龄
***/
create proc [dbo].[sp_GetBirthDate_Age]
@IDCard varchar(20),
@BirthDate varchar(20) output,
@Age int output
as
begin
--声明变量--
declare @BirthDateStr varchar(10)
declare @YearStr varchar(10)
declare @MonthStr varchar(10)
declare @DayStr varchar(10)
declare @NowDateStr varchar(20)
declare @AgeStr varchar(10)
----1、根据身份证号,计算出生日期---
--设置IDCard值
--set @IDCard ='445182199403123781'
--1)获取身份证号中年月日部分(返回:19940312)--
set @BirthDateStr = SUBSTRING(@IDCard,7,8)
--2)将获取年月日字符串转化为对应日期格式--
--2.1)获取年部分--
set @YearStr = SUBSTRING(@BirthDateStr,1,4)
--2.2)获取月部分--
set @MonthStr = SUBSTRING(@BirthDateStr,5,2)
--2.3)获取日部分--
set @DayStr = SUBSTRING(@BirthDateStr,7,2)
--3)返回组合后的日期---
set @BirthDate = @YearStr +'-'+@MonthStr+'-'+@DayStr
--2、根据出生日期和当前日期,计算年龄--
--1)获取当前时间的日期部分(返回:2017-10-15)--
set @NowDateStr = CONVERT(varchar(10),GETDATE(),23)
--2)获取当前日期与出生日期的年份(年龄) 返回:23岁 --
set @AgeStr = DATEDIFF(YEAR,@BirthDate,@NowDateStr)
--3)判断当前日期与出生日期(是否过生日,未过生日减去1岁)--
if(SUBSTRING(@BirthDate,6,5) <= SUBSTRING(@NowDateStr,6,5))
begin
--Cast()将字符转化为数字函数
set @Age = CAST(@AgeStr as int)
end
else
begin
set @Age = CAST(@AgeStr as int)-1
end
--输出计算后的返回结果--
select @BirthDate as 出生日期,@Age as 年龄
end
在sql中,执行上面可在可编程性-->存储过程中看到创建的存储过程
存储过程的调用:
--测试1:出生日期已过当前日期的---
declare @IDCard varchar(20)
declare @BirthDate varchar(20)
declare @Age int
set @IDCard=''
exec sp_GetBirthDate_Age @IDCard,@BirthDate output,@Age output
--返回结果--
--出生日期:1994-10-10 年龄: 23
--测试2:出生日期未过当前日期的---
declare @IDCard varchar(20)
declare @BirthDate varchar(20)
declare @Age int
set @IDCard=''
exec sp_GetBirthDate_Age @IDCard,@BirthDate output,@Age output
--返回结果--
--出生日期:1994-10-18 年龄: 22
调用后结果:
aaarticlea/png;base64,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" alt="" />
js中如何通过身份证号计算出生日期和年龄
在html中有如下标签 身份证号:
SQL 从身份证号得到出生日期、年龄、男女
), CONVERT(smalldatetime, SUBSTRING(b.IDCard, , )), ) AS BrithDate_Name, DATEDIFF(year, CONVERT(smal ...
sqlalchemy 模型中添加根据身份证号计算性别和年龄
class Users(Base, BaseMixin): username = Column(String(24)) id_Num = Column(String(18) ) # 身份证号码 @pr ...
Microsoft SQL Server 数据库 错误号大全
panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...
Javascript 身份证号获得出生日期、获得性别、检查身份证号码
//---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...
SQL SERVER孤立帐号的处理
Step1:查询 Use KSHR_F23 Go exec sp_change_users_login @Action='Report' Go Step2:处理 Use KSHR_F23 Go exe ...
解决 SQL Server 所有帐号无 sysadmin 权限,且未启用 SQL Server 身份验证,sa 帐号也未启用的问题
解决 未启用 SQL Server 身份验证 的问题: 1. 运行 regedit,进入注册表编辑器 2. 打开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Micro ...
随机推荐
【WCF】操作选择器
在开始吹牛之前,先说说.net Core的事情. 你不能把.NET Core作为全新体系来学习,因为它也是.NET.关于.NET Core,老周并不打算写什么,因为你懂了.NET,就懂了.NET Co ...
关于iOS导航控制器隐藏和显示会出现返回键失效,导航栏标题动画异常
最近做的demo bug出现了,我觉得这个bug出现得很经典所以贴出来给大家看看, bug演示就是:点击返回键失效出现如下gif图演示的内容 为啥会出现如此奇葩的bug,系统的返回键居然失效了,尴尬 ...
video标签的属性和方法总结
最近想做一个弹幕插件,查了很多video标签的属性和方法 error属性 在正常读取时候,使用媒体数据的过程中,video元素或audio元素的error属性为null,但是任何时候只要出现错误,er ...
caffe的db_lmdb.hpp文件
先总的说一下: 类:LMDBCursor: 它干了点什么?它需要传入参数为:mdb_txn(传入它是因为用完它,把它absort掉), mdb_cursor;它应该是用来读出数据的: 类:LMDBT ...
C# 16进制与字符串、字节数组之间的转换(转)
1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToSt ...
H5移动前端完美布局之padding
序上次的提到了H5移动前端完美布局之-margin百分比的使用margin-top(left,right,bottom)的百分比在移动页面布局中对上下左右距离的处理,攻下城外再攘城内,今天看看padd ...
[转]select模型的一种技巧运用-libevent
参见网址 http://www.cppblog.com/xvsdf100/archive/2013/12/10/204689.html
译:Dataiku 白皮书之《在银行和保险行业应用数据科学》
原文链接:Data Science For Banking & Insurance 如果不能正常访问,请点击备份获取. 在银行和保险行业应用数据科学 互联网巨头和金融技术创业时代的求生和发展 ...
Azure 基础:File Storage
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在前文中介绍了 Blob Storage 的基本用 ...
关于使用mybatis的一个惨痛教训
事情大概是这样的: 某个时刻之后所有的交易都崩溃了,查看数据库得知所有的数据都变成一样的了!!! 再查看log,发现执行了这样的语句:UPDATE XXX SET c1=v1,c2=v2 ...,没有 ...

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)