使用替换和喜欢

时间:2018-08-10 21:15:40

标签: sql oracle toad

我目前正在尝试使用Oracle 11g SQL语法更新临时表中的列。在此列中,有一个唯一的ID,长度为12位数字。但是,我需要将此表与包含唯一ID的此列连接起来,但是此表的唯一ID的语法与将要联接的表的语法稍有不同(唯一ID用作PK = FK)。这可能很难遵循,所以我将在下面提供我正在做的事情。

TABLE xyz语法中的

UniqueID列 AB10783421111111

TABLE zxo语法中的

UniqueID列 383421111111

您看到数字如何相同,除了zxo表中的AB107和第一个“ 3”之外?我想知道为什么这两个查询都没有运行

UPDATE temp37 SET UNIQUE_ID = REPLACE(UNIQUE_ID, (LIKE 'AB107%'), (LIKE '3%'));

UPDATE temp37
SET UNIQUE_ID = '3%'
WHERE UNIQUE_ID = 'AB107%';

基本上,我想将ID的每种情况都替换为AB10755555555555到355555555555。谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以这样做:

UPDATE temp37 SET UNIQUE_ID = REPLACE(UNIQUE_ID, 'AB107', '3');

OR

UPDATE temp37 SET UNIQUE_ID = CONCAT('3', substr(UNIQUE_ID, 6)) WHERE UNIQUE_ID LIKE 'AB107%';