MySQL5.7从入门到精通--------第六章读书笔记

版权声明:欢迎转载大宇的博客,转载请注明出处: https://blog.csdn.net/yanluandai1985/article/details/83182704

6.3.2  合并字符串 CONCAT(S1,S2,S3)   CONCAT_WS(X,S1,S2,S3)

          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 2 THEN 'FALSE'
    		ELSE        'MORE'
     END

CASE的另外一种变法。

         CASE 

                 WHEN v1 THEN r1

                 WHEN v2 THEN r2 

                ...

                 ELSE       rn

          END

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

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

.

猜你喜欢

转载自blog.csdn.net/yanluandai1985/article/details/83182704