MYSQL函数

目录

一、数值类型函数

1.1、基本函数

绝对值、向上/向下取整

随机数

四舍五入与截断

1.2、角度与弧度互换函数

1.3、三角函数

二、字符串函数

2.1、基本函数

连接函数

替换函数

左取右取

左补右补

去除空格

返回重复n次的结果

截取字符串

返回第一次出现的索引值

返回指定位置的字符串

三、日期时间函数

3.1、获取日期、时间

3.2、日期与时间戳的转换

3.3、获取月份、星期、星期数、天数

3.4、日期的操作函数

3.5、日期的格式化与解析

四、流程控制函数

五、信息函数


一、数值类型函数

1.1、基本函数

MYSQL函数_第1张图片

绝对值、向上/向下取整

select ABS(-33), CEIL(33.21), FLOOR(33.52) from dual;

MYSQL函数_第2张图片

随机数

select RAND(),RAND(10),RAND(10) from dual;

MYSQL函数_第3张图片

rand()函数:取0~1之间的随机数。

rand()可以有参数,参数是因子,也就是说,如果因子相同,那么返回的随机数也是相同的。

四舍五入与截断

select ROUND(100.23),ROUND(100.235,2) from dual;

MYSQL函数_第4张图片

round()函数:如果只有一个参数,默认是保留0位小数,如果有两个参数,参数2是保留小数的位数。

与round()函数不同的是,截断函数truncate()只会截断,不会四舍五入。

select TRUNCATE(100.63,0),TRUNCATE(100.63,1) from dual;

MYSQL函数_第5张图片

1.2、角度与弧度互换函数

MYSQL函数_第6张图片

1.3、三角函数

MYSQL函数_第7张图片

二、字符串函数

2.1、基本函数

MYSQL函数_第8张图片

MYSQL函数_第9张图片

MYSQL函数_第10张图片

连接函数

select CONCAT('我思','故我','在') from dual;

MYSQL函数_第11张图片

select CONCAT_WS('、','哈尔滨','长春','沈阳') from dual;

MYSQL函数_第12张图片

替换函数

select INSERT('helloworld',2,3,'AAA') from dual;

MYSQL函数_第13张图片

此函数的意思是,字符串helloworld取第二个下标处,往后数三个(包括下标2),替换成AAA。

注意:mysql中,下标是从1开始的。

select REPLACE('helloworld','hello','hi') from dual;

MYSQL函数_第14张图片

左取右取

select LEFT('helloworld',5),RIGHT('helloworld',5) from dual;

MYSQL函数_第15张图片

左补右补

select LPAD('hello',10,'*'),RPAD('hello',10,'*') from dual;

MYSQL函数_第16张图片

意思如何字段长度不满足第二个参数,则用第三个参数补全。

去除空格

去除首尾空格,中间空格不去掉。

select TRIM('  he ll o  ') from dual;

MYSQL函数_第17张图片

select TRIM('o' from 'oheolloo') from dual;

MYSQL函数_第18张图片

去除收尾带o的字符串。

返回重复n次的结果

select REPEAT('abc',3) from dual;

MYSQL函数_第19张图片

截取字符串

select SUBSTR('helloworld',2,2) from dual;

MYSQL函数_第20张图片

截取helloworld从下标2开始,往后两位的结果。

返回第一次出现的索引值

select LOCATE('c','abcdefg'),LOCATE('z','abcdefg') from dual;

MYSQL函数_第21张图片

注意:如果没有出现过,则返回0。

返回指定位置的字符串

select ELT(3,'a','b','c','d','e') from dual;

MYSQL函数_第22张图片

三、日期时间函数

3.1、获取日期、时间

MYSQL函数_第23张图片

select CURDATE(),CURTIME(),NOW() from dual;

MYSQL函数_第24张图片

3.2、日期与时间戳的转换

MYSQL函数_第25张图片

select UNIX_TIMESTAMP(),UNIX_TIMESTAMP(now()),FROM_UNIXTIME(UNIX_TIMESTAMP()) from dual;

MYSQL函数_第26张图片

3.3、获取月份、星期、星期数、天数

MYSQL函数_第27张图片

3.4、日期的操作函数

MYSQL函数_第28张图片

SELECT
	EXTRACT(MINUTE FROM NOW()),
	EXTRACT(WEEK FROM NOW()),
	EXTRACT(QUARTER FROM NOW()),
	EXTRACT(MINUTE_SECOND FROM NOW())
FROM
	DUAL;

MYSQL函数_第29张图片

3.5、日期的格式化与解析

MYSQL函数_第30张图片

四、流程控制函数

MYSQL函数_第31张图片

SELECT
	last_name,
	salary,
IF (
	salary >= 6000,
	'高工资',
	'低工资'
)
FROM
	employees;

MYSQL函数_第32张图片

SELECT
	last_name,
	commission_pct,
IFNULL (
	commission_pct,
	0
)
FROM
	employees;

MYSQL函数_第33张图片

SELECT
	last_name,
	salary,
	CASE
WHEN salary >= 15000 THEN
	'高富帅'
WHEN salary >= 10000 THEN
	'潜力股'
WHEN salary >= 8000 THEN
	'一般人'
ELSE
	'草根'
END
FROM
	employees;

MYSQL函数_第34张图片

五、信息函数

MYSQL函数_第35张图片

你可能感兴趣的:(#,MYSQL,mysql,数据库,函数,学习)