gpt4 book ai didi

sql - 使用 sql - 在 select 语句中不为 null

转载 作者:行者123 更新时间:2023-12-01 16:20:14 25 4
gpt4 key购买 nike

我似乎不知道如何在 sql 中使用 isnull 或 ifnull 语句的相反内容。我需要说如果 a.Error1 不为空,则打印 ' - ' 和 + CHAR(13)+CHAR(10).基本上,如果 a.Error1 返回 null,则不应有破折号或换行符。因此,如果该字段不为空,则打印信息。

select a. .... 
' - ' + a.Error1 + CHAR(13)+CHAR(10) +
' - ' + a.Error2 + CHAR(13)+CHAR(10) +
' - ' + a.Error3 + CHAR(13)+CHAR(10) +
' - ' + a.Error4 + CHAR(13)+CHAR(10) +
' - ' + a.Error5 + CHAR(13)+CHAR(10) +
' - ' + a.Error6 as 'error_message'
...
from table1 a

例如,如果对于给定记录 error1、2 和 5 返回输出,我希望输出如下:
- 错误1:有一个...
- 错误2:....
- Error5:数据是...

如果该行不存在错误,它应该只是一个空/空字段。

最佳答案

您可以使用CASE:

SELECT a. ....
(CASE WHEN a.Error1 IS NOT NULL
THEN ' - ' + a.Error1 + CHAR(13)+CHAR(10)
ELSE ''
END) +
(CASE WHEN a.Error2 IS NOT NULL
THEN ' - ' + a.Error2 + CHAR(13)+CHAR(10)
ELSE ''
END) +
(CASE WHEN a.Error3 IS NOT NULL
THEN ' - ' + a.Error3 + CHAR(13)+CHAR(10)
ELSE ''
END) +

...etc

关于sql - 使用 sql - 在 select 语句中不为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com