字符串上的MySql,IFNULL(),COALSESCE()没有替换

kil*_*tek 13 mysql sql replace coalesce ifnull

描述:

我的陈述应该用'no name'替换每个空的 title_column ,但它不会:

SELECT
  COALESCE(main_table.title_column, 'no name') AS title
FROM main_table;
Run Code Online (Sandbox Code Playgroud)

IFNULL()的行为方式相同.

我究竟做错了什么 ?

new*_*ver 22

COALESCE并且IFNULL只替换NULL值,您的表似乎包含空字符串:

SELECT
  COALESCE(NULLIF(main_table.title_column, ''), 'no name') AS title
FROM main_table;
Run Code Online (Sandbox Code Playgroud)