Concat中的Group_Concat不使用NULL值

Sam*_*ami 8 mysql group-concat

我有一张桌子

CREATE TABLE IF NOT EXISTS `dept` (
  `did` int(11) NOT NULL,
  `dname` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `dept` (`did`, `dname`) VALUES
(1, 'Hi'),
(2, NULL),
(3, 'Hello');
Run Code Online (Sandbox Code Playgroud)

然后我有一个查询

select group_concat(concat(did,"','",dname) separator '),(') as Result from dept
Run Code Online (Sandbox Code Playgroud)

它正在产生结果 1','Hi'),('3','Hello

问题:如何从上面的查询得到结果1','Hi'),('2','NULL'),('3','Hello

它缺少具有NULL值但我需要获取所有值的行

链接SQL小提琴演示的问题

更新:如果我有多个或所有列允许NULL,是否有一些方法可以为所有列应用COALESCE或者必须在每个列单独应用?

Joh*_*Woo 9

试试这个,用 COALESCE

.., COALESCE(dname, 'NULL'),..
Run Code Online (Sandbox Code Playgroud)

使NULL字符串可见.SQLFIDDLE DEMO