SQL 使用 WHERE 和 LIKE 更新服务器
SQL Server Update using WHERE and LIKE
我的这段代码似乎不适用于 REPLACE。我错过了什么吗
UPDATE EMIR
SET Series = CL.Underlying_Security_Name
FROM EMIR e
INNER JOIN CALYPSO cl
ON e.Internal_ID = cl.Trade_ID
AND e.Internal_ID_Type = 'CL'
WHERE cl.Underlying_Security_Name like 'CMBX.NA.%'REPLACE((SUBSTRING(REPLACE(Underlying_Security_Name,'CMBX.NA.',''),CHARINDEX('.',REPLACE(Underlying_Security_Name,'CMBX.NA.',''))+1,2)),'.',''))
你有一个更大的问题。您需要 update
别名 在 FROM
子句中定义,而不是 table。
您的 replace()
问题可能需要字符串连接:
UPDATE e
SET Series = CL.Underlying_Security_Name
FROM EMIR e INNER JOIN
CALYPSO cl
ON e.Internal_ID = cl.Trade_ID AND e.Internal_ID_Type = 'CL'
WHERE cl.Underlying_Security_Name like 'CMBX.NA.%' + REPLACE((SUBSTRING(REPLACE(Underlying_Security_Name,'CMBX.NA.',''), CHARINDEX('.', REPLACE(Underlying_Security_Name,'CMBX.NA.',''))+1,2)),'.',''))
UPDATE emir
SET Series = (select CL.Underlying_Security_Name
FROM EMIR e,
CALYPSO cl
Where
e.Internal_ID(+) = cl.Trade_ID AND e.Internal_ID_Type = 'CL'
And cl.Underlying_Security_Name like 'CMBX.NA.%'REPLACE((SUBSTRING(REPLACE(Underlying_Security_Name,'CMBX.NA.',''),CHARINDEX('.',REPLACE(Underlying_Security_Name,'CMBX.NA.',''))+1,2)),'.',''))
不确定替换但修改上面的其余代码
我的这段代码似乎不适用于 REPLACE。我错过了什么吗
UPDATE EMIR
SET Series = CL.Underlying_Security_Name
FROM EMIR e
INNER JOIN CALYPSO cl
ON e.Internal_ID = cl.Trade_ID
AND e.Internal_ID_Type = 'CL'
WHERE cl.Underlying_Security_Name like 'CMBX.NA.%'REPLACE((SUBSTRING(REPLACE(Underlying_Security_Name,'CMBX.NA.',''),CHARINDEX('.',REPLACE(Underlying_Security_Name,'CMBX.NA.',''))+1,2)),'.',''))
你有一个更大的问题。您需要 update
别名 在 FROM
子句中定义,而不是 table。
您的 replace()
问题可能需要字符串连接:
UPDATE e
SET Series = CL.Underlying_Security_Name
FROM EMIR e INNER JOIN
CALYPSO cl
ON e.Internal_ID = cl.Trade_ID AND e.Internal_ID_Type = 'CL'
WHERE cl.Underlying_Security_Name like 'CMBX.NA.%' + REPLACE((SUBSTRING(REPLACE(Underlying_Security_Name,'CMBX.NA.',''), CHARINDEX('.', REPLACE(Underlying_Security_Name,'CMBX.NA.',''))+1,2)),'.',''))
UPDATE emir
SET Series = (select CL.Underlying_Security_Name
FROM EMIR e,
CALYPSO cl
Where
e.Internal_ID(+) = cl.Trade_ID AND e.Internal_ID_Type = 'CL'
And cl.Underlying_Security_Name like 'CMBX.NA.%'REPLACE((SUBSTRING(REPLACE(Underlying_Security_Name,'CMBX.NA.',''),CHARINDEX('.',REPLACE(Underlying_Security_Name,'CMBX.NA.',''))+1,2)),'.',''))
不确定替换但修改上面的其余代码