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

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')
;

6.4  返回当前时间

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

     CURRENT_TIME 、 CURRENT_DATE

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

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)
;

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;

  

 

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-------目录帖

 

 

posted @ 2022-07-17 12:15  小大宇  阅读(24)  评论(0编辑  收藏  举报