我有一个表端口,其数据如下:
Name
-------
ADSL 1
ADSL 2
Ethernet 1
Ethernet 2
我希望将数据转换为:
Name
-------
Port 1
Port 2
Port 1
Port 2
我该怎么做
update Port set name = somereplacmentlogic(name)
谢谢!
答案 0 :(得分:1)
UPDATE Port SET Name = REPLACE(Name, 'ADSL', 'Port');
UPDATE Port SET Name = REPLACE(Name, 'Ethernet', 'Port');
答案 1 :(得分:1)
仍然不确定,您正在使用什么DBMS,但如果它支持正则表达式,您可以执行以下操作:
SELECT REPLACE(Name, SUBSTR(Name, 1, REGEXP_INSTR( Name, '[0-9]', 1)-1), 'Port ')
FROM PORT
REGEXP_INSTR(名称,' [0-9]',1)将找到第一个数字字符出现的位置。
SUBSTR(名称,1,REGEXP_INSTR(名称,' [0-9]',1)-1)将从列值的开头返回子字符串,直到数值。而replace将替换字符串中返回的值。