MySQL:基础巩固-函数


在这里插入图片描述

一、字符串函数

函数功能
CONCAT(S1,S2,…,Sn)字符串拼接
LOWER(str)转小写
UPPER(str)转大写
LPAD(str,n,pad)左填充,用字符串pad对str左边进行填充,达到n个字符串的长度
RPAD(str,n,pad)右填充,用字符串pad对str右边进行填充,达到n个字符串的长度
TRIM(str)去掉字符串头尾空格
SUBSTRING(str,start,len)返回字符串str从start位置起len个长度的字符串

二、数值函数

函数功能
CEIL(x)向上取整
FLOOR(x)向下取整
MOD(x, y)返回x/y的余数
RAND()返回0~1之内的随机数
ROUND(x, y)求x四舍五入的值,保留y位小数

生成6为位随机验证码

SELECT RPAD(ROUND(RAND() * 100000, 0),6,0)

三、日期函数

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)返回date的年份
MONTH(date)返回date的月份
DAY(date)获取指定date的日期
DATE_ADD(date,INTERVAL expr type)返回间隔之后的日期时间,expr表示间隔多少,type表示间隔的类型 YEAR MONTH DAY
DATEDIFF(date1, date2)返回日期间隔的天数
-- 返回当前日期
SELECT CURDATE();
-- 返回当前时间
SELECT CURTIME();
-- 返回当前日期和时间
SELECT NOW();
-- YEAR MONTH DAY
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
-- date_add
SELECT DATE_ADD(NOW(), INTERVAL 5 DAY);
-- datediff
SELECT DATEDIFF(CURDATE(), '2024-08-01');

四、流程函数

函数功能
IF(value, t, f)如果value=true返回t,否则返回f
IFNULL(value1, value2)如果value1不为NULL返回value1,否则返回value2
CASE WHEN [val1] THEN [res1] … ELSE [default] END如果val1为true,返回res1,… 否则返回default默认值
CASE [expr] WHEN [val1] THEN [res1] … ELSE [default] END如果expr的值等于val1,返回res1否则返回default默认值
SELECT IF(TRUE,'test1','test2');  -- test1
SELECT IF(FALSE,'test1','test2');  -- test2

SELECT IFNULL('', 'default');  -- ''
SELECT IFNULL(NULL, 'default'); -- 'default'
SELECT IFNULL('张三', 'default'); -- '张三'

SELECT `name`, CASE WHEN gender='0' THEN '女' WHEN gender='1' THEN '男' ELSE '未知' END '年龄' FROM tb_user;
SELECT `name`, CASE gender WHEN '0' THEN '女' WHEN '1' THEN '男' ELSE '未知' END AS '年龄' FROM tb_user;
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Monly21

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

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

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

打赏作者

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

抵扣说明:

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

余额充值