SQL Server 2008用SQL语句写出设置出生日期与身份证号之间的约束。
展开全部
--没用过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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询