本文主要是介绍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();
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
SELECT DATE_ADD(NOW(), INTERVAL 5 DAY);
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');
SELECT IF(FALSE,'test1','test2'); SELECT IFNULL('', 'default');
SELECT IFNULL(NULL, '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;
这篇关于MySQL:基础巩固-函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!