标题不像我希望的那样具有描述性。 这是我的任务:我有17个数字,每个都遵循这种格式12345-67(即06037-11)我需要的数字/字符串是123456-78。在第6位,我插入一个0。
为了找到这些数字,我使用了这个查询:
select number
from schema.table
where number like '%-%'
and length(trim(number)) > 1
and length(substr(number, 1, position('-' in policy_number))) < 7
order by policy_number;
如何在不单独完成各项的情况下以类似方式更新所有内容?
编辑:我正在使用Teradata
记录示例:
06037-11
24188-18
25559-18
答案 0 :(得分:1)
类似
update schema.table
set number = substr(number,1,5) + '0' + substr(number,6,4)
where number like '%-%'
and length(trim(number)) > 1
and length(substr(number, 1, position('-' in policy_number))) < 7
答案 1 :(得分:1)
这里有一个使用_
通配符的选项,它匹配任何单个字符:
update yourtable
set number = replace(number, '-', '0-')
where number like '_____-__'
这只会更新5个字符短划线2个字符的记录。