sql server 表

2025-04-24 20:08:43
推荐回答(2个)
回答1:

用select substring(身份证号字段,7,8) from table_name

就可以从身份证号中取到生日,
性别是第17位.
select substring(身份证号字段,17,1) from table_name

直接更新的生日字段和性别字段的语句:
update table_name set 生日字段=substring(身份证号字段,7,8),性别字段=substring(身份证号字段,17,1)

这样就可以了,不过日期格式是19700101的格式,而不是1970-01-01

回答2:

以18位身份证举例

select substring(身份证号字段,7,4)+年
substring(身份证号字段,11,2)+月
substring(身份证号字段,13,3)+日
AS '生日',
case when SUBSTRING(身份证号,17,1) = 1
then '男'
else '女'
end as '性别'
FROm table