Gee*_*thu 3 string null group-by sql-server-2008
我想将列中的NULL和空字段组合在一起.
我尝试了以下脚本
SELECT
CASE
WHEN test IS NULL OR test= ''
THEN ''
ELSE test
END as 'test'
from firm
group by test
Run Code Online (Sandbox Code Playgroud)
如果我们在列测试中使用值NULL,'',Test1,Test2,则上面的查询将创建两个具有NULL值的组,如下所示.
1 NULL
2 NULL
3 Test1
4 Test2
Run Code Online (Sandbox Code Playgroud)
我想要的是如下所示的分组.
1 NULL or ''
2 Test1
3 Test2
Run Code Online (Sandbox Code Playgroud)
试试这个希望这对你有帮助
SELECT
CASE
WHEN test IS NULL OR test= ''
THEN ''
ELSE test
END as 'test'
from firm
group by CASE WHEN test IS NULL OR test = '' THEN '' ELSE test END
Run Code Online (Sandbox Code Playgroud)
要么
SELECT
CASE
WHEN test IS NULL OR test= ''
THEN ''
ELSE test
END as 'test'
from firm
group by isnull(test, '')
Run Code Online (Sandbox Code Playgroud)
您的CASE正在重塑COALESCE:
SELECT
COALESCE(test, '') as test
from firm
group by COALESCE(test, '')
Run Code Online (Sandbox Code Playgroud)
或者干脆:
SELECT DISTINCT
COALESCE(test, '') as test
from firm
Run Code Online (Sandbox Code Playgroud)