关于mysql中一些函数用法

case when .. then ... when ... then ... else end

case when:类似于if,根据条件返回值

case when sex = '0' then '女' when sex='1' then '男' end  

或者

case when sex='0' then '女' else '男' end 

IF()            IF(TRUE,A,B) = A

                  IF(FALSE,A,B) = B

IFNULL()

                    IFNULL(字段,替换内容)

NULLIF()

               NULLIF(字段,进行对比内容) :相同则为null,不同则还是原内容

ISNULL()

                ISNULL(字段) :0 - 不为空,1 - 为空

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SUBSTRING_INDEX(字段,分隔符,取段位置)

字段名称:var = '123_232_aaa_ewrwe,123' 

SUBSTRING_INDEX(var,'_',1) = 123

SUBSTRING_INDEX(var,'_',2) = 123_232

SUBSTRING(字段,开始位置,取值长度)

SUBSTRING(var,1,7) = 123_232

SUBSTRING(var,2,7) = 23_232_

left(字段,取值长度)

字段名称:var = 123123123123123

left(var,10)  从左到右取10位数 = 1231231231

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

获取系统当前时间,格式为 yyyy-MM-dd HH:mm:ss

now()、current_timestamp() :语句开始执行的时间

sysdate():函数开始执行的时间

unix_timestamp(current_timestamp())     将时间戳换成秒

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 REPLACE('123.123.345','.','')   将字符'.'换成空字符

结果等于 123123345

 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- 

timediff:求得两个时间的时间差,返回结果为 yyyy-MM-dd HH:mm:ss 

timediff(NOW(),'2019-07-10 10:32:03') 

TIME_TO_SEC:将转换为秒

TIME_TO_SEC('00:01:19') = 79

 date_format:输出时间格式 

date_format(NOW(),'%Y-%m-%d %H:%i:%s')  = 2019-07-10 10:38:12

date_format(NOW(),'%Y-%m-%d) = 2019-07-10

发布了47 篇原创文章 · 获赞 10 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/fearlessnesszhang/article/details/95311739