Mysql 如果字段为空,则用首选字符串填充该字段

Mysql 如果字段为空,则用首选字符串填充该字段,mysql,Mysql,我有一个问题: select address from rmgr.avarii WHERE vlan =? ORDER BY id DESC LIMIT 1 它返回空字符串或带地址的字符串(根据vlan)。我想更改这个查询,所以当它应该返回空字符串时,它必须返回“notavailable”。有人能帮我吗?在查询中使用IF: select IF(address > ''),address,'not available') from ... 比较地址>'将处理空字符串和空字符串。这将用

我有一个问题:

select  address from rmgr.avarii  WHERE vlan =? ORDER BY id DESC LIMIT 1

它返回空字符串或带地址的字符串(根据vlan)。我想更改这个查询,所以当它应该返回空字符串时,它必须返回“notavailable”。有人能帮我吗?

在查询中使用
IF

select IF(address > ''),address,'not available') from ...

比较
地址>'
将处理空字符串和空字符串。

这将用您选择的文本替换空值和空字符串

select coalesce(NULLIF(column_name,''), 'No Address Available') from tab;

空字符串与空字符串(当未找到记录时)不是很不同吗?因此,当表中没有用于输入的地址时,您只需要返回一个字符串。对吗?是的,没有特定vlan的记录。应该是if+end if构造吗?Mysql在查询后返回错误。这个省略号用于完成特定的查询。这里有一个完整的例子来说明:嗯,我只看到表的创建和插入。没有选择查询。我是这样做的,但它不起作用:选择IF(address>“”,address,'notavailable')作为address奇怪,它是公共的,可能有人弄乱了它。无论如何,它是:“从supportContacts中选择id,if(类型>'',类型,'不可用')”。将其粘贴到右侧并执行。编辑我的答案以处理空字符串和空字符串