当前位置:网站首页>MySQL基础——函数
MySQL基础——函数
2022-06-22 18:54:00 【白巧克力x】
目录
上篇文章我们学习了MySQL基础——DCL语句,这篇文章学习MySQL基础——函数。
函数
函数是指一段可以直接被另一段程序调用的程序或代码。
接下来代码演示的数据表结构及数据如下:

字符串函数
在MySQL常用的字符串函数如下表:
| 函数 | 功能 |
|---|---|
| CONCAT(S1,S2,...Sn) | 字符串拼接,将S1,S2,...Sn拼接成一个字符串 |
| LOWER(str) | 将字符串str全部转为小写 |
| UPPER(str) | 将字符串str全部转为大写 |
| LPAD(str,n,pad) | 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度 |
| RPAD(str,n,pad) | 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度 |
| TRIM(str) | 去掉字符串头部和尾部的空格 |
| SUBSTRING(str,start,len) | 返回从字符串str从start位置起的len个长度的字符串 |
使用字符串函数语法格式如下:
函数(参数);示例代码如下:
SELECT CONCAT('hello','world'); # 拼接字符串如下图所示:

当我们需要使用字符串函数对数据表进行操作时,示例代码如下:
UPDATE students SET uid =RPAD(uid,5,'0'); #向右填充uid
SELECT * FROM students; #查看数据如下图所示:

数值函数
在MySQL常用的数值函数如下表:
| 函数 | 功能 |
|---|---|
| CEIL(x) | 向上取整 |
| FLOOR(x) | 向下取整 |
| MOD(x,y) | 返回x/y的模 |
| RAND() | 返回0~1内的随机数 |
| ROUND(x,y) | 求参数x的四舍五入的值,保留y位小数 |
使用数值函数语法格式如下:
函数(参数);示例代码如下:
SELECT RAND(); #随机生成0~1内的随机数如下图所示:

日期函数
在MySQL常用的日期函数如下表:
| 函数 | 功能 |
|---|---|
| CURDATE() | 返回当前日期 |
| CURTIME() | 返回当前时间 |
| NOW() | 返回当前日期和时间 |
| YEAR(date) | 获取指定date的年份 |
| MONTH(date) | 获取指定date的月份 |
| DAY(date) | 获取指定date的日期 |
| DATE_ADD(date,INTERVAL expr type) | 返回一个日期/时间值加上一个时间间隔expr后的时间值 |
| DATEDIFF(date1,date2) | 返回起始时间date1和结束时间date2之间的天数 |
使用日期函数语法格式如下:
函数(参数);示例代码如下:
SELECT CURDATE(); # 获取当前时间
SELECT YEAR(CURDATE()); # 获取当前时间的年份
SELECT DATE_ADD(CURDATE(),INTERVAL 70 DAY); #获取当前时间往后加70天如下图所示:

流程函数
在MySQL常用的流程函数如下表:
| 函数 | 功能 |
|---|---|
| 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默认值 |
使用流程函数语法格式如下:
函数(参数);示例代码如下:
SELECT IF(true,'OK','Error');
SELECT IFNULL(NULL,'OK');
SELECT uname ,(CASE usex WHEN '男' THEN '1' WHEN '女' THEN '2' ELSE '0' END) AS '性别' FROM students;如下图所示:

好了,MySQL基础——函数就学到这里了,下篇文章我们学习MySQL基础——约束。
边栏推荐
- [in depth understanding of tcapulusdb technology] tcapulusdb model
- 漫话Redis源码之一百一十九
- ROS from entry to mastery (VIII) common sensors and message data
- Matlab calling API
- Storage structure of graph (adjacency matrix)
- Random talk on redis source code 119
- 关于放大器失真的原因你了解多少呢?
- Google | ICML 2022: sparse training status in deep reinforcement learning
- 如何低成本快速搭建企业知识库?
- IVX no code challenge five second game production
猜你喜欢

【深入理解TcaplusDB技术】入门MySQL Driver

运用span-method巧妙实现多层table数据的行合并

ZABBIX learning notes (37)
![[in depth understanding of tcapulusdb technology] introduction tcapulusdb problem summary](/img/2b/3ab5e247ac103728b4d3579c3c5468.png)
[in depth understanding of tcapulusdb technology] introduction tcapulusdb problem summary

6月第3周B站榜单丨飞瓜数据UP主成长排行榜(哔哩哔哩平台)发布!

51万奖池邀你参战!第二届阿里云ECS CloudBuild开发者大赛来袭

Possible security vulnerabilities in NFT

Tree, forest and transformation of binary tree

ROS从入门到精通(八) 常用传感器与消息数据

critical path
随机推荐
Please describe the whole process from entering a URL in the browser to rendering the page.
3个月自学自动化测试,薪资从4.5K到15K,鬼知道我经历了什么?
自己写了一个telnet命令
JWT简介
Pit of undefined reference
[deeply understand tcapulusdb technology] tcapulusdb operation and maintenance - daily inspection
Goldfish rhca memoirs: do447 managing user and team access -- creating and managing ansible tower users
[graduation season] step by step? Thinking about four years of University by an automation er
【深入理解TcaplusDB技术】入门Tcaplus SQL Driver
Security policy and NAT (easy IP) of firewall Foundation
芯和半导体“射频EDA/滤波器设计平台”闪耀IMS2022
Connect function usage of socket
运用span-method巧妙实现多层table数据的行合并
[in depth understanding of tcapulusdb technology] business guide for creating doc acceptance
Bubble sort, select sort, direct insert sort
【深入理解TcaplusDB技术】创建游戏区
Redis持久化的几种方式——深入解析RDB
Random talk about redis source code 122
web技术分享| 【高德地图】实现自定义的轨迹回放
Summer Challenge [FFH] Hongmeng machine learning journey from scratch NLP emotion analysis