MySQL:函数

1.字符函数
2.数学函数
3.日期函数
4.流程控制函数



字符函数

1.一个汉字占三个字节,占一个字符

SELECT LENGTH('hellow,河南');
输出结果为:13
SELECT CHAR_LENGTH('hellow,河南');
输出结果为:9

2.字符截取函数

SELECT SUBSTRING('中华人民共和国',2,2);
这里的字符串定位是从1开始的,不是从0开始的。
第一个2表示从"华"字开始截,第二个2表示街区两个字符。
代码运行结果为:华人

3.获取字符串第一次出现的位置

SELECT INSTR("校服上除了校徽别别别的",'别');
返回值为8

4.去除文字前后指定字符,默认是空格

SELECT TRIM("  中  过  啊  ");
去除空格
SELECT (TRIM("x" FROM "xxxxxxxxxx中 国 梦 xxxx"));
去除“x”

5.左填充,右填充

SELECT LPAD('木婉清',10,'a');
设置位置总程度为10,木婉清占三个,然后在左侧填充7个a
SELECT RPAD('木婉清',10,'a');
设置位置总程度为10,木婉清占三个,然后在右侧填充7个a

6.比较两个字符大小

SELECT STRCMP('abc','abc');
比较的是ascII表
前面大返回1,后面大返回-1,一样大返回0

7.左截取,右截取

SELECT LEFT('鸠摩智',2);
截取的是鸠摩
SELECT RIGHT('鸠摩智',2);
截取的是摩智

8.变大小写

select UPPER("sdf")
select lower("asd");


数学函数

1.求绝对值

SELECT ABS(-100);
输出100

2.向上取整,向下取整

SELECT CEIL(1.09);
返回值为2
SELECT FLOOR(1.23);
返回值为1

3.四舍五入,截断

SELECT ROUND(1.51);
返回值为2
SELECT ROUND(1.50345,4)
4表示的是保留四位小数,返回值是1.5035

截断的意思是直接截取不四舍五入
SELECT TRUNCATE(1.50345,4);
返回值为1.5034

4.取余

SELECT MOD(10,3);
返回值为1


日期函数

1.获取日期加时间

SELECT NOW();

2.获取日期

SELECT CURDATE();

3.获取时间

SELECT CURTIME();

4.获取两个日期之差

SELECT DATEDIFF("2000-4-17","2020-3-30")
获取活了多少天

5.日期转化函数

SELECT DATE_FORMAT('2000-4-17 4:23:59','%Y年%m月%d日 %h小时%i分%s秒');
输出结果为:2000041704小时2359SELECT STR_TO_DATE("2000年04月17日  04小时23分59秒",'%Y年%m月%i日  %h小时%i分%s秒');
输出结果为:2000-4-17 4:23:59

这两个函数是互逆的。

在这里插入图片描述

流程控制函数

1.if函数

SELECT IF(100>99,"对","错");
类似于三目运算符,输出:对

2.case函数

用法一
SELECT CASE 100%3
WHEN 1 THEN 'np'
WHEN 2 THEN 'bp'
WHEN 3 THEN 'qp'
else 'qp'
END;
输出结果为np
类似于swich函数。可以无限延长

用法二
SELECT CASE
WHEN 条件一 THEN 结果一
WHEN 条件二 THEN 结果二
WHEN 条件三 THEN 结果三
ELSE 结果四
END
类似于多重if语句
posted @ 2020-03-30 15:06  lcyok  阅读(207)  评论(0)    收藏  举报