
oracle 批量替换某字段中第一位的值
2个回答
展开全部
UPDATE TABLE_NAME SET COL1 = '2'||SUBSTR(COL1,2,LENGTH(COL1) - 1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于这个意思,不知道楼住是想哪一种?
1、不管第一位是什么,直接替换为2;
2、只有当第一位为0的时候,才替换为2;
对于第一种想法的话,可以通过截取字符串,可以用下面的更新语句:
UPDATE 表名 SET 字段名= '2' || substr(字段名,2) WHERE 字段名 IS NOT NULL;
(注意:oracle中的第一个字符的位置为1,第二个的位置为2,因此,上面使用substr(字段名,2),而不像java中,使用1)
对于第二种想法,可以使用正则表达来进行处理,或者是采用下面的方法:
UPDATE 表名 SET 字段名= '2' || substr(字段名,2) WHERE 字段名 IS NOT NULL AND substr(字段名,1,1) = '0';
(经过试验,其中第二种情况下,条件:字段名 IS NOT NULL 可以省略掉)
1、不管第一位是什么,直接替换为2;
2、只有当第一位为0的时候,才替换为2;
对于第一种想法的话,可以通过截取字符串,可以用下面的更新语句:
UPDATE 表名 SET 字段名= '2' || substr(字段名,2) WHERE 字段名 IS NOT NULL;
(注意:oracle中的第一个字符的位置为1,第二个的位置为2,因此,上面使用substr(字段名,2),而不像java中,使用1)
对于第二种想法,可以使用正则表达来进行处理,或者是采用下面的方法:
UPDATE 表名 SET 字段名= '2' || substr(字段名,2) WHERE 字段名 IS NOT NULL AND substr(字段名,1,1) = '0';
(经过试验,其中第二种情况下,条件:字段名 IS NOT NULL 可以省略掉)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询