从身份证号提取生日并更新到生日字段中的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
原文地址:https://www.cnblogs.com/SmallStrange/p/13201714.html