从身份证号提取生日并更新到生日字段中的SQL语句

#1:根据身份证号 更新 生日字段 SQL

注意长度用len或者length

复制代码
方法一:
update 表名 
set 生日字段=substring(身份证字段,7,4)+"-"+substring(身份证字段,11,2)+"-"+substring(身份证字段,13,2) where length(身份证字段)=18

方法二:

 update 表名
 set
  生日字段=CONCAT(身份证字段(IDENTITY,7,4),"-",substring(身份证字段,11,2),"-",substring(身份证字段,13,2)) where length(身份证字段)=18

 
复制代码

mysql 往表中某个字段的字符串后追加字符串

update 表名 set 字段名=CONCAT(字段名,"需添加的值")WHERE 条件

数字则可以直接用'+'号相连 字符串必须用concat,规则:
(1)CONCAT(str1,str2,...)
#返回结果为将参数相连后得到的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。
#如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
#一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型。
(2)CONCAT_WS()
#UPDATE user set name=CONCAT_WS('_','user',name)
#字段原值为:jack则输出结果为user_jack,注意,第一个参数为连接符

 

#2:根据身份证号 更新 性别字段 SQL

update 表名 set SEX='男'
where length(身份证字段)=18 and substring(身份证字段,17,1)%2=1


update 表名 set SEX='女'
where length(身份证字段)=18 and substring(身份证字段,17,1)%2=0

 

posted @   乖怪丶  阅读(1755)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
欢迎这位客官来到《从身份证号提取生日并更新到生日字段中的SQL语句 - 乖怪丶 - 博客园》
点击右上角即可分享
微信分享提示