我正在尝试在select语句中使用case。我之前从未这样做过,所以我不确定语法。以下是我到目前为止的情况:
CASE(column_name)
WHEN NULL THEN 'Unnamed'
ELSE column_name
END AS my_alias
如何描述遇到空值时会发生什么?
答案 0 :(得分:2)
如何描述遇到空值时会发生什么?
使用COALESCE
,NVL
,ISNULL
,NULLIF
或适合您所用服务器软件的任何功能:
COALESCE(column_name, 'Unnamed') AS my_alias
ISNULL(column_name, 'Unnamed') AS my_alias
如果您的CASE
声明无法使用,因为x = NULL
始终为假(即使x
为null
),所以永远不会被使用。您可以使用IS NULL
:
CASE
WHEN column_name IS NULL THEN 'Unnamed'
ELSE column_name
END AS my_alias
但COALESCE
更清洁。