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

posted @ 2022-09-23 17:21  技术改变命运Andy  阅读(12381)  评论(0编辑  收藏  举报