mysql数据库-2-进阶-2-函数的使用(格式化时间,字符串截取,coalesce,CEIL)
mysql格式化时间
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
IF表达式
IF(expr1,expr2,expr3);
如果expr1为TRUE,则IF()返回值为expr2,否则返回值为expr3
update salary set sex =if(sex = '男','女','男')
这是leetcode上的一道题,将salary表中的性别进行转换,男变女,女变男
mysql 字符串截取
1.从左至右截取
①使用left()函数可以从左至右对字符串进行截取
语法:LEFT(str,length)
SELECT LEFT(MAX(batchnumber),10) from crawl_elong_wxapi_room_list
②使用substr()函数进行截取
语法:SUBSTR(str,startPosition,returnLength)
str是要进行截取的字符串,startPosition(数字)是给定开始截取的位置,returnLength(数字)是指定要截取的长度;
2.从右至左截取
使用right()函数可以从右至左对字符串进行截取
语法:RIGHT(str,length)
3.反转字符串截取后再反转还原
利用REVERSE()函数可以将字符串内容进行反转
例如 执行 select REVERSE('cba') 结果为 abc;一些情况可以使用这个函数反转截取后再反转。
4.截取指定指定字符或字符串之间的内容
mysql:
在mysql中可使用SUBSTRING_INDEX()函数来截取指定字符或字符串的内容;
语法:SUBSTRING_INDEX(str,delim,count)
str是要进行截取的字符串;delim是指定的分割字符或字符串;count是delim在对应str内容中出现的次数,count为正数表示从左至右截取n次之前的所有内容,为负数表示从右至左截取n次之前的内容;
Mysql coalesce()函数认识和用法
想必大部分的人都是第一次使用吧!对,我也是刚刚在工作中看到了,所以有兴趣来研究下。
coalesce()解释:返回参数中的第一个非空表达式(从左向右);
Sql代码
select coalesce(a,b,c);
如果a null,则选择b;如果bnull,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
这个参数使用的场合为:假如某个字段默认是null,你想其返回的不是null,而是比如0或其他值,可以使用这个函数
SELECT COALESCE(field_name,0) as value from table;
应用实例
coalesce函数表示可以返回参数中的第一个非空表达式,当你有N个参数时选取第一个非空值(从左到右)。
实例一:
select coalesce(null,"carrot","apple")
返回结果:carrot
实例二:
select coalesce(1,"carrot","apple")
返回结果:1
友情提示:coalesce里的参数如果是字符串的话,务必用单引号或者双引号廓起来;
MySQL CEIL() 函数,向上取整
MySQL CEIL() 函数返回大于或等于指定数字的最小整数值。CEIL() 函数等同于 CEILING() 函数。
如果您想要返回小于或等于指定数字的最小整数值,请使用 FLOOR()。
如果您想要将数字四舍五入到指定的小数位数,请使用 ROUND() 函数。
如果您想要按位数截取小数位,请使用 TRUNCATE() 函数。
CEIL() 语法
这里是 MySQL CEIL() 函数的语法:
CEIL(number)
参数: number 必需的。 一个数字。
返回值:
MySQL CEIL() 函数返回大于或等于指定数字的最小整数值。
如果参数 number 为 NULL,CEIL() 函数将会返回 NULL。
CEIL() 示例
SELECT
CEIL(123.123),
CEIL(123.789),
CEIL(123),
CEIL(-123.123),
CEIL(-123.789),
CEIL(-123),
CEIL(-100),
CEIL(NULL)\G
*************************** 1. row ***************************
CEIL(123.123): 124
CEIL(123.789): 124
CEIL(123): 123
CEIL(-123.123): -123
CEIL(-123.789): -123
CEIL(-123): -123
CEIL(-100): -100
CEIL(NULL): NULL