SQL Server 2008用SQL语句写出设置出生日期与身份证号之间的约束。

 我来答
slkj_xj
2012-03-24 · 超过31用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:91.2万
展开全部
--没用过2008,出生日期和身份证号对比如下:
declare @m varchar(2),@d varchar(2),@bir datetime,@sfz varchar(18)
set @bir = (select birthday from tabname) --从表中取出生日时间
set @sfz = (select sfzh from tabname) --从表中取身份证号
--取月份
set @m = cast(month(@bir) as varchar(2))
if len(@m) = 1
begin
set @m = '0'+@m
end
--取天
set @d = cast(day(@bir) as varchar(2))
if len(@d) = 1
begin
set @d = '0'+@d
end
--取身份证中的出生日期和生日对比。
if substring(@sfzh,7,8) <> cast(year(@bir) as varchar(4)) + @m + @d
begin
frogley
2012-03-24 · TA获得超过1854个赞
知道小有建树答主
回答量:1008
采纳率:50%
帮助的人:1090万
展开全部
假设出生日期字段是birth,类型是datetime;身份证号字段是IDnumber,类型是varchar
添加约束的sql语句:
alter table iden
add constraint constr1 check (substring(IDnumber,7,8)=CONVERT(varchar(20),birth,112))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式