MySQL常见函数

**函数 **是指一段可以直接被另一段程序调用的程序或代码。

字符串函数

image.png

CONCAT(str1,str2,…)

字符串拼接,将str1,str2合并成一个字符串

select CONCAT('Hello','MySQL');

image.png

LOWER(str)

将str转换为小写

select LOWER('MySQL');

image.png

UPPER(str)

将str转换为大写

select UPPER('Hello');

image.png

LPAD(str,len,padstr)

左填充,让padstr填充到str左边,填充到str长度为len

select LPAD('1',5,'0');

image.png

RPAD(str,len,padstr)

右填充,让padstr填充到str右边,填充到str长度为len
image.png

TRIM([remstr FROM] str)

去除str两边的空格,和java中trim类似

select TRIM('  Hello MySQL');

image.png

SUBSTRING(str,pos,len)

类似于java中的substring,返回将str从pos截取len长度的字符串,不同的是str下标从1开始

select SUBSTRING('Hello MySQL',1,5);

image.png

数值函数

常见的数值函数:
image.png

CEIL(X)

向上取整

select ceil(2.4);

image.png

FLOOR(X)

向下取整

select floor(2.9);

image.png

MOD(N,M)

取N/M的模

select mod(7,4);

image.png

RAND()

取0-1之间的随机数

select RAND(),RAND(),RAND();

image.png

ROUND(X,D)

对x四舍五入,保留d位小数

select ROUND(3.1415,3);

image.png

日期函数

常见的日期函数:
image.png

CURDATE():当前日期

select CURDATE();

image.png

CURTIME():当前时间

select CURTIME();

image.png

NOW():当前日期+时间

select NOW();

image.png

YEAR(date),MONTH(date),DAY(date):获取年月日

select YEAR(NOW()),MONTH(NOW()),DAY(NOW());

image.png

DATE_ADD(date,INTERVAL expr unit):向后推多少时间

SELECT
	DATE_ADD( NOW(), INTERVAL 10 DAY ), -- 10天
	DATE_ADD( NOW(), INTERVAL 10 MONTH ), -- 10个月
	DATE_ADD( NOW(), INTERVAL 10 YEAR ); -- 10 年

image.png

DATEDIFF(expr1,expr2):两个时间差值(天),第一个减第二个、

	SELECT DATEDIFF(NOW(),'2022-11-11');

image.png

流程函数

常见的流程函数
image.png

IF(expr1,expr2,expr3)

expr1是true,返回expr2,false返回expr3,类似三元

	SELECT IF(TRUE,'OK','NoOK'),IF(FALSE,'OK','NoOK');

image.png

IFNULL(expr1,expr2)

判断expr1是否是null,不是null返回expr1,是null返回expr2

SELECT
	IFNULL( 'ok', 'default' ),
	IFNULL( '', 'default' ),  
	IFNULL( NULL, 'default' );

image.png

case expr1 when expr2 then expr3 else expr4 end

当expr1是expr2时,返回expr3,否则返回expr4

SELECT
	( CASE '男' WHEN '男' THEN 'man' WHEN '女' THEN 'woman' ELSE '未知' END ),
	( CASE '女' WHEN '男' THEN 'man' WHEN '女' THEN 'woman' ELSE '未知' END ),
	( CASE '123' WHEN '男' THEN 'man' WHEN '女' THEN 'woman' ELSE '未知' END );

image.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值