MYSQL ifnull 函数 、if判断 、case when、 locate函数

1.MYSQL  ifnull 函数 、if判断 、case when、 locate

(1)、IFNULL(expr1,expr2)
如果expr1为空(即NULL),返回expr2,如果expr1不为空,返回expr1。注意:IFNULL  只能处理 NULL  值。

 

(2)、IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。

例:select IF(column_name = 'test',  '测试',  IF(column_name = '' ,  '全部',  column_name))  from Table_name

 

(3)、CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
 
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
第一个版本返回result,其中value=compare-value。第二个版本中如果第一个条件为真,返回result。如果没有匹配的result值,那么结果在ELSE后的result被返回。如果没有ELSE部分,那么NULL被返回。
mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;

(4)、LOCATE(substr,str) , LOCATE(substr,str,pos)

第一个语法返回字符串 str中子字符串substr的第一个出现位置。

第二个语法返回字符串 str中子字符串substr的第一个出现位置, 起始位置在pos。

如若substr 不在str中,则返回值为0。

例: select locate('abcd', 'ddddddddabc ddd') 

你可能感兴趣的:(MYSQL ifnull 函数 、if判断 、case when、 locate函数)