是否可能有两个带有一个条件的“ THEN”语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可能有两个带有一个条件的“ THEN”语句?相关的知识,希望对你有一定的参考价值。
例如,如果我有一个需要满足的条件,那么我需要对列值做另一件事,我将如何去做呢?
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
编辑:另外,我知道第二个替换功能不正确。我只是复制并粘贴。
答案
终于沉没了,我应该将两者结合起来!replace(ltrim(rtrim(replace(replace(replace(replace(REPLACE(CON_ORDERS_MIN.CONCAT_ITEM, CAST(ord.ORDER_ID AS nvarchar), ''), ',', '><'), '<>', ''), '><', ','), ',', ' '))), ' ', ',')
以上是关于是否可能有两个带有一个条件的“ THEN”语句?的主要内容,如果未能解决你的问题,请参考以下文章