6.3.2  合并字符串 CONCAT(S1,S2,S3)   CONCAT_WS(X,S1,S2,S3)   WS的全称:With Separator,即带分隔符

          CONCAT常用于连接字符串。如果有NULL,则返回NULL。

          CONCAT_WS(X,S1,S2,S3),返回效果如 S1XS2XS3 。如果S1、S2、S3有NULL,那么会自动被忽略。

SELECT 
CONCAT('%','mysql','%'),
CONCAT_WS('-','1996','05','19'),
CONCAT('%',NULL,'%'),
CONCAT_WS('-','1996','05',NULL,'19')
;

从头开始学MySQL--------函数_连接字符串

6.4  返回当前时间

     NOW()  与 SYSDATE() 效果一样。

     CURRENT_TIME 、 CURRENT_DATE

SELECT 
CURRENT_DATE ,
CURRENT_TIME,
NOW(),
SYSDATE()
;

从头开始学MySQL--------函数_mysql_02

6.5.1  条件函数 

    IF(expr,V1,V2)  功能与Java的三目运算符一样,如果expr为真,返回V1,否则为V2.

    IFNULL(V1,V2); 如果V1是NULL,返回V2。V1不是NULL,返回V1。

SELECT 
IF(1>0,2,3),
IF(1<0,2,3),
IFNULL(NULL,4),
IFNULL(5,6)
;

从头开始学MySQL--------函数_分隔符_03

6.5.3  条件表达式

          看清楚了,没有逗号。若expr的值是v1,则结果为 r1 。语法格式为 :         

CASE expr

                 WHEN v1 THEN r1

                 WHEN v2 THEN r2 

                ...

                  ELSE       rn

          END

SELECT 
CASE 1>0
WHEN 1 THEN 'true'
WHEN 0 THEN 'FALSE'
ELSE 'MORE'
END AS result;

  

从头开始学MySQL--------函数_分隔符_04

 

CASE的另外一种变法。         

CASE 

                 WHEN v1 THEN r1

                 WHEN v2 THEN r2 

                ...

                 ELSE       rn

          END

如果没有表达式,那么将会顺序执行下面的WHEN语句,直到第一个为条件满足,返回后面的值。若没有符合的,则返回ELSE后面的值。

SELECT 
CASE
WHEN 1>2 THEN 'A'
WHEN 1<2 THEN 'B'
WHEN 1<3 THEN 'C'
ELSE 'D'
END AS RESULT
;

从头开始学MySQL--------函数_mysql_05