2019-05-05 MySQL 复习

一、字符函数

1.length 获取参数值的字节个数(UTF8中文3个字节)

SELECT LENGTH(‘join’); -- 4
SELECT LENGTH('张三丰hahaha'); -- 15

2.concat 拼接字符串

SELECT CONCAT('a','-','b'); -- a-b

3.upper、lower 大小写转换

SELECT UPPER(‘john’); -- JOHN
SELECT LOWER(‘joHn’); -- john

4.substr、substring(两个一样) 注意:索引从1开始

#截取从指定索引处后面的所有字符
SELECT SUBSTR('李莫愁爱上了陆展元', 7); 
#截取从指定索引处指定长度的字符
SELECT SUBSTR('李莫愁爱上了陆展元', 1, 3); -- 

5.instr 返回子串第一次出现的索引,如果找不到返回0

SELECT INSTR('杨不悔爱上了殷六侠', '殷六侠'); -- 7

6.trim 去除字符串首尾的指定字符串,默认为去除空格

SELECT TRIM('   a a a   ') -- a a a
SELECT TRIM('bb'FROM 'bbbbb   a a a   bbbbb' -- bbbbb   a a a   b

7.lpad 用指定的字符实现左填充指定长度,如果字段本身长度大于指定长度,则截取

SELECT LPAD('殷素素', 10, '*'); -- *******殷素素
SELECT LPAD('殷素素', 2, '*'); -- 殷素

8.rpad 用指定的字符实现右填充指定长度,如果字段本身长度大于指定长度,则截取

SELECT LPAD('殷素素', 10, '*'); -- 殷素素*******

9.replace 替换(全部替换)

SELECT REPLACE('杨不悔爱上了殷六侠', '殷六侠','张三'); -- 杨不悔爱上了张三

二、数学函数

1.round 四舍五入

SELECT ROUND(1.567); -- 2
SELECT ROUND(1.567, 2); -- 1.57

2.ceil 向上取整,返回>=该参数的最小整数

SELECT CEIL(1.00); -- 1
SELECT CEIL(2.10); -- 3

3.floor 向下取整,返回<=该参数的最大整数

SELECT FLOOR(1.00); -- 1
SELECT FLOOR(2.10); -- 2
SELECT FLOOR(-2.10); -- -3

4.truncate 截断

SELECT TRUNCATE(1.6999,1); -- 1.6

5.mod 取模、取余 a-a/b*b

SELECT MOD(10,3); -- 1
SELECT 10%3; -- 1

三、日期函数

1.now 返回当前系统日期+时间

SELECT NOW();  -- 2019-05-05 21:12:06

2.curdate 返回当前系统日期,不包含时间

SELECT CURDATE(); -- 2019-05-05

3.curtime 返回当前时间,不包含日期

SELECT CURTIME(); -- 21:14:30

4.获取制定的部分,年、月、日、小时、分钟、秒

SELECT YEAR(NOW()); -- 2019
SELECT YEAR('1998-1-1'); -- 1998
SELECT MONTH(NOW()); -- 5
SELECT MONTHNAME(NOW()); -- May

5.str_to_date 将字符串通过指定格式转换成日期

SELECT STR_TO_DATE('5-6/2019','%m-%d/%Y'); -- 2019-05-06
日期符合

6.data_format 将日期转换成字符

SELECT DATE_FORMAT(NOW(), '%m-%d/%Y'); -- 05-05/2019
SELECT DATE_FORMAT('2019-05-06', '%m-%d/%Y'); -- 05-05/2019

四、其他函数

SELECT VERSION(); -- 版本号
SELECT DATABASE(); -- 当前数据库
SELECT USER(); -- 当前用户

五、流程控制函数

1.if 函数

SELECT IF(10>5,'大', 1); -- 大

2.case 函数的使用一: switch case的效果

SELECT CASE 20
WHEN 10 THEN 1
WHEN 20 THEN 2
WHEN 30 THEN 3
ELSE 4
END AS id1 -- 2

3.case 函数的使用二: 类似于多重if

SELECT CASE
WHEN 10 > 11 THEN 1
WHEN 20 > 10 THEN 2
WHEN 30 > 10  THEN 3
ELSE 4
END AS id1 -- 2

你可能感兴趣的:(2019-05-05 MySQL 复习)