Sql 使用REPLACE等
我目前正在尝试使用Oracle11GSQL语法更新临时表中的一列。在此列中有一个12位长的唯一ID。但是,我需要将此表与包含唯一ID的列连接起来,但是此表的唯一ID的语法与将要连接的表的语法略有不同(唯一ID用作PK=FK)。这可能很难遵循,所以我将在下面提供我正在做的事情 表xyz语法中的唯一ID列 AB10783421111111 表zxo语法中的UniqueID列 38342111111 您看到除了AB107和zxo表中的第一个“3”之外,这些数字是如何相同的了吗?我想知道为什么这两个查询都没有运行Sql 使用REPLACE等,sql,oracle,toad,Sql,Oracle,Toad,我目前正在尝试使用Oracle11GSQL语法更新临时表中的一列。在此列中有一个12位长的唯一ID。但是,我需要将此表与包含唯一ID的列连接起来,但是此表的唯一ID的语法与将要连接的表的语法略有不同(唯一ID用作PK=FK)。这可能很难遵循,所以我将在下面提供我正在做的事情 表xyz语法中的唯一ID列 AB10783421111111 表zxo语法中的UniqueID列 38342111111 您看到除了AB107和zxo表中的第一个“3”之外,这些数字是如何相同的了吗?我想知道为什么这两个查询
UPDATE temp37 SET UNIQUE_ID = REPLACE(UNIQUE_ID, (LIKE 'AB107%'), (LIKE '3%'));
UPDATE temp37
SET UNIQUE_ID = '3%'
WHERE UNIQUE_ID = 'AB107%';
基本上,我想用AB107555到3555555替换每个id案例。谢谢你的帮助 您可以执行以下操作:
UPDATE temp37 SET UNIQUE_ID = REPLACE(UNIQUE_ID, 'AB107', '3');
或
第一个有语法错误。第二种是使用
LIKE
模式和=
。
UPDATE temp37 SET UNIQUE_ID = CONCAT('3', substr(UNIQUE_ID, 6)) WHERE UNIQUE_ID LIKE 'AB107%';