在SELECT查询中用'foo'替换列的空记录?

Kap*_*tah 3 mysql select

我正在将MySql -table备份到工作表.我当前的结果集包含一些列为空的行.

没关系,但对于工作表我需要用'foo'替换它们.如何?

所有帮助都非常感谢.

Joe*_*orn 7

空还是NULL?那里有很大的不同.如果为NULL,则可以使用以下COALESCE()函数:

SELECT COALESCE(`MyColumn`, 'foo') As MyColumn FROM `MyTable`
Run Code Online (Sandbox Code Playgroud)

如果该值仅为空,则需要执行以下操作:

SELECT IF(char_length(`MyColumn`)>0, `MyColumn`, 'foo') AS MyColumn FROM `MyTable
Run Code Online (Sandbox Code Playgroud)

或者你甚至可以将它们结合起来

SELECT IF(char_length(COALESCE(`MyColumn`,''))>0,`MyColumn`,'foo') AS MyColumn FROM `MyTable`
Run Code Online (Sandbox Code Playgroud)