MYSQL函数

本文详细介绍了SQL中的各种核心函数,包括数值类型(如绝对值、随机数、四舍五入)、角度与弧度互换、三角函数,以及字符串处理(如连接、替换、截取等)、日期时间操作和流程控制逻辑,帮助理解并运用在数据库查询中。
摘要由CSDN通过智能技术生成

目录

一、数值类型函数

1.1、基本函数

绝对值、向上/向下取整

随机数

四舍五入与截断

1.2、角度与弧度互换函数

1.3、三角函数

二、字符串函数

2.1、基本函数

连接函数

替换函数

左取右取

左补右补

去除空格

返回重复n次的结果

截取字符串

返回第一次出现的索引值

返回指定位置的字符串

三、日期时间函数

3.1、获取日期、时间

3.2、日期与时间戳的转换

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

3.4、日期的操作函数

3.5、日期的格式化与解析

四、流程控制函数

五、信息函数


一、数值类型函数

1.1、基本函数

绝对值、向上/向下取整

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

随机数

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

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

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

四舍五入与截断

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

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

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

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

1.2、角度与弧度互换函数

1.3、三角函数

二、字符串函数

2.1、基本函数

连接函数

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

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

替换函数

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

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

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

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

左取右取

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

左补右补

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

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

去除空格

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

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

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

去除收尾带o的字符串。

返回重复n次的结果

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

截取字符串

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

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

返回第一次出现的索引值

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

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

返回指定位置的字符串

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

三、日期时间函数

3.1、获取日期、时间

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

3.2、日期与时间戳的转换

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

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

3.4、日期的操作函数

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

3.5、日期的格式化与解析

四、流程控制函数

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

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

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

五、信息函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思想和宇宙同频

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值