我目前正在尝试使用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。谢谢您的帮助。
答案 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%';