用oracle语句把18位的身份证换成15位的。110123198102230612改为15位的(去掉第7,8,18位)
发布网友
发布时间:2022-04-28 15:00
我来回答
共2个回答
热心网友
时间:2023-09-11 12:13
可以使用CASE表达式,假设表名为t_name,字段为id
查询语句:
SELECT CASE WHEN LENGTH(id)=18 THEN SUBSTR(id,1,6)||SUBSTR(id,9,9)
ELSE id END
FROM t_name;
修改语句为:
UPDATE t_name SET id=CASE WHEN LENGTH(id)=18 THEN SUBSTR(id,1,6)||SUBSTR(id,9,9)
ELSE id END ;
热心网友
时间:2023-09-11 12:13
用substr函数就可以啊
select substr(id,1,6)||substr(id,9,17) as newid from tablename