我试图弄清楚如何检查字段是空还是空.我有这个
SELECT IFNULL(field1, 'empty') as field1 from tablename
Run Code Online (Sandbox Code Playgroud)
我需要添加额外的检查field1 != ""类似
SELECT IFNULL(field1, 'empty') OR field1 != "" as field1 from tablename
Run Code Online (Sandbox Code Playgroud)
知道怎么做到这一点?
jue*_*n d 172
要么使用
SELECT IF(field1 IS NULL or field1 = '', 'empty', field1) as field1
from tablename
Run Code Online (Sandbox Code Playgroud)
要么
SELECT case when field1 IS NULL or field1 = ''
then 'empty'
else field1
end as field1
from tablename
Run Code Online (Sandbox Code Playgroud)
如果您只想检查null而不是空字符串,那么您也可以使用ifnull()或coalesce(field1, 'empty').但这不适合空字符串.
小智 17
尝试使用nullif:
SELECT ifnull(nullif(field1,''),'empty') AS field1
FROM tablename;
Run Code Online (Sandbox Code Playgroud)
him*_*056 13
或者您也可以使用CASE相同的:
SELECT CASE WHEN field1 IS NULL OR field1 = ''
THEN 'empty'
ELSE field1 END AS field1
FROM tablename.
Run Code Online (Sandbox Code Playgroud)
您可以创建一个函数来简化此操作。
create function IFEMPTY(s text, defaultValue text)
returns text deterministic
return if(s is null or s = '', defaultValue, s);
Run Code Online (Sandbox Code Playgroud)
使用:
SELECT IFEMPTY(field1, 'empty') as field1
from tablename
Run Code Online (Sandbox Code Playgroud)
您可以使用该IFNULL功能内IF。这会短一些,并且字段名称的重复次数会更少。
SELECT IF(IFNULL(field1, '') = '', 'empty', field1) AS field1
FROM tablename
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
204379 次 |
| 最近记录: |