例如,如果我有一个需要满足的条件,那么我需要对列值做另一件事,我将如何去做?
CAST(
CASE WHEN TRY_CAST(CON_ORDERS_MIN.CONCAT_ITEM AS numeric) = o.ORDER_ID
THEN NULL
WHEN CHARINDEX(CAST(o.ORDER_ID AS nvarchar), CON_ORDERS_MIN.CONCAT_ITEM) > 0
--CONDITION 1
THEN REPLACE(CON_ORDERS_MIN.CONCAT_ITEM, CAST(o.ORDER_ID AS nvarchar), '')
--CONDITION 2
THEN replace(ltrim(rtrim(replace(replace(replace(replace(col, ',', '><'), '<>', ''), '><', ','), ',', ' '))), ' ', ',')
ELSE CON_ORDERS_MIN.CONCAT_ITEM
END AS VARCHAR
)AS EXAMPLE
我在问“当在这个数字列表中找到这个数字时,删除那个数字并去掉逗号。” 因此,当找到它时,将其替换为空并清理逗号。而且我不太了解长期嵌套的替换事物。事实上,看着它,我的大脑很受伤。有没有人有更好的方法来做到这一点?
数据示例:
ID_TB_SEARCHED CSV_IDS
1234567 1234567, 8900123, 12349786
我想要达到的目标:
ID_TB_SEARCHED CSV_IDS
1234567 8900123, 12349876
编辑:另外,我知道第二个替换功能不正确。我只是复制并粘贴。