我正在将 MySql -table 备份到工作表。我当前的结果集有一些列是空的行。
没关系,但是对于工作表,我需要将这些替换为“foo”。如何?
高度赞赏所有帮助。
空还是NULL?那里有很大的不同。如果为 NULL,则可以使用该COALESCE()
函数:
SELECT COALESCE(`MyColumn`, 'foo') As MyColumn FROM `MyTable`
如果该值仅为空,则需要执行以下操作:
SELECT IF(char_length(`MyColumn`)>0, `MyColumn`, 'foo') AS MyColumn FROM `MyTable
或者你甚至可以将它们组合起来:
SELECT IF(char_length(COALESCE(`MyColumn`,''))>0,`MyColumn`,'foo') AS MyColumn FROM `MyTable`
只需使用“IFNULL”:
SELECT IFNULL(col1,'foo')
FROM mytable
该COALESCE
语句返回它传递的第一个非空参数:
SELECT COALESCE(column,'foo')
column
如果它不为 null,则返回,'foo'
否则。