函数是指一段可以调用的的程序或代码 函数 字符串函数 数值函数 日期函数 流程函数 字符串函数 函数功能CONCAT(s1, s2, …, sn)字符串拼接,将s1, s2, …, sn拼接成一个字符串LOWER
函数是指一段可以调用的的程序或代码
字符串函数
数值函数
日期函数
流程函数
函数 | 功能 |
CONCAT(s1, s2, …, sn) | 字符串拼接,将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个长度的字符串 |
REPLACE(column, source, replace) | 替换字符串 |
例:
mysql> select concat ('hellow','mysql'); +---------------------------+| concat ('hellow','mysql') |+---------------------------+| hellowmysql |+---------------------------+1 row in set (0.02 sec)mysql> select lower ('Hellow');+------------------+| lower ('Hellow') |+------------------+| hellow |+------------------+1 row in set (0.04 sec)mysql> select upper('Hellow');+-----------------+| upper('Hellow') |+-----------------+| HELLOW |+-----------------+1 row in set (0.03 sec)mysql> select lpad('01',5,'-');+------------------+| lpad('01',5,'-') |+------------------+| ---01 |+------------------+1 row in set (0.01 sec)mysql> select rpad('01',5,'-');+------------------+| rpad('01',5,'-') |+------------------+| 01--- |+------------------+1 row in set (0.03 sec)mysql> select trim(' Hellow MySQL ');+------------------------+| trim(' Hellow MySQL ') |+------------------------+| Hellow MySQL |+------------------------+1 row in set (0.03 sec)mysql> select substring('Hellow Mysql',1,5);+-------------------------------+| substring('Hellow mysql',1,5) |+-------------------------------+| Hello |+-------------------------------+1 row in set (0.04 sec)
练习:由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0。比如:1号员工的工号应该为00001。
update class set id=lpad(id,5,'0');
函数 | 功能 |
CEIL(x) | 向上取整 |
FLOOR(x) | 向下取整 |
MOD(x, y) | 返回x/y的模 |
RAND() | 返回0~1内的随机数 |
ROUND(x, y) | 求参数x的四舍五入值,保留y位小数 |
mysql> select ceil(1.1);+-----------+| ceil(1.1) |+-----------+| 2 |+-----------+1 row in set (0.05 sec)mysql> select floor(1.1);+------------+| floor(1.1) |+------------+| 1 |+------------+1 row in set (0.02 sec)mysql> select mod(3,4);+----------+| mod(3,4) |+----------+| 3 |+----------+1 row in set (0.05 sec)mysql> select rand();+---------------------+| rand() |+---------------------+| 0.03044703978155464 |+---------------------+1 row in set (0.02 sec)mysql> select round(2.34,2);+---------------+| round(2.34,2) |+---------------+| 2.34 |+---------------+1 row in set (0.06 sec)
练习:通过数据库的函数生成一个六位的随机验证码
mysql> select lpad(round(rand()*1000000,0),6,'0');+-------------------------------------+| lpad(round(rand()*1000000,0),6,'0') |+-------------------------------------+| 089983 |+-------------------------------------+1 row in set (0.04 sec)
函数 | 功能 |
CURDATE() | 返回当前日期 |
CURTIME() | 返回当前时间 |
NOW() | 返回当前日期和时间 |
YEAR(date) | 获取指定date的年份 |
MONTH(date) | 获取指定date的月份 |
DAY(date) | 获取指定date的日期 |
DATE_ADD(date, INTERVAL expr type) | 返回一个日期/时间值加上一个时间间隔expr后的时间值 |
DATEDIFF(date1, date2) | 返回起始时间date1和结束时间date2之间的天数 |
函数 | 功能 |
IF(value, t, f) | 如果value为true,则返回t,否则返回f |
IFNULL(value1, value2) | 如果value1不为空,返回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默认值 |
mysql> select if(false,'OK','Error');+------------------------+| if(false,'OK','Error') |+------------------------+| Error |+------------------------+1 row in set (0.04 sec)mysql> select ifnull('OK','Default');+------------------------+| ifnull('OK','Default') |+------------------------+| OK |+------------------------+1 row in set (0.04 sec)mysql> select ifnull('','Default');+----------------------+| ifnull('','Default') |+----------------------+| |+----------------------+1 row in set (0.03 sec)mysql> select ifnull(null,'Default');+------------------------+| ifnull(null,'Default') |+------------------------+| Default |+------------------------+1 row in set (0.02 sec)
select name, (case when age > 30 then '中年' else '青年' end)from employee;select name, (case workaddress when '北京市' then '一线城市' when '上海市' then '一线城市' else '二线城市' end) as '工作地址'from employee;
来源地址:https://blog.csdn.net/m0_60322614/article/details/128816303
--结束END--
本文标题: MySQL基础(三)-函数
本文链接: https://lsjlt.com/news/400671.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0