请帮我转换以下声明:
CASE
WHEN TITLE IS NOT NULL THEN 'A'
WHEN LOCAL_TITLE IS NOT NULL THEN 'B'
END
AS COMBINED_TITLE
这样的事情:
CASE
WHEN TITLE IS NOT NULL THEN COMBINED_TITLE=TITLE
WHEN LOCAL_TITLE IS NOT NULL THEN COMBINED_TITLE=LOCAL_TITLE
END
AS COMBINED_TITLE
提前完成 格雷格
答案 0 :(得分:3)
您是否尝试在更新声明中使用它?实际上,您可以在此实例中取消CASE语句
UPDATE
<table>
SET
COMBINED_TITLE = COALESCE(TITLE, LOCAL_TITLE, COMBINED_TITLE)
COALESCE将在列表中找到第一个NON-NULL值
答案 1 :(得分:2)
ISNULL(TITLE,LOCAL_TITLE)AS COMBINED_TITLE
答案 2 :(得分:2)
我不确定你的意思,但是如果你想设置一个变量,你会这样做:
SELECT
@CombinedTitle = CASE
WHEN Title IS NOT NULL THEN Title
WHEN Local_Title IS NOT NULL THEN Local_Title
END
...
如果您仍想创建列Combined_Title
但是要使用两个标题列中的值,则可以执行以下操作:
SELECT
CASE
WHEN Title IS NOT NULL THEN Title
WHEN Local_Title IS NOT NULL THEN Local_Title
END AS Combined_Title
...
另请参阅documentation on COALESCE
,它甚至提到它与您的CASE
语句相同(添加了ELSE NULL
。)