MySQL的函数

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8" />

<title>mysql函数</title>

</head>

<body>

<!-- Mysql函数 字符串函数

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

字符串函数

concat(s1,s1,s3):字符串拼接,将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 函数(参数);

-->

<!-- 数值函数

ceil(x):向上取整

floor(x):向下取整

mod(x,y):返回x/y的模(就是余数)

rand():返回0~1内的随机数

round(x,y):求参数x的四舍五入的值,保留y位小数

例子:

通过数据库的函数,生成一个6位的随机验证码

select lpad((round(rand()*1000000),0),6,'0');

-->

<!-- 日期函数

curdate():返回当前日期

curtime():返回当前时间

now():返回当前日期和时间

year(date):获取指定date的年份

month(date):获取指定date的月份

day(date):获取指定date的日期

date_add(date,interval expr type):返回一个日期/时间值加上一个时间间隔expr后的时间值

datediff(date1,date2):返回起始时间date1和结束时间date2之间的天数

例如

date_add(now(),interval 70 year);

查询所有员工入职天数,并根据入职天数排序

select name,datediff(curdate(),enterdate)as 'enterdays' from yg order by enterdays desc;

-->

<!-- 流程控制函数

if(value,t,f):如果value位true,则返回t,否则返回f

ifnull(value1,value2):如果value1不为nall,返回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默认值

例子:查询yg表的员工姓名和工作地址(北京/广州 ->一线城市,其他就是二线)

select

name

case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end

from yg;

-->

</body>

</html>

相关推荐
萧曵 丶6 分钟前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
坤坤不爱吃鱼9 分钟前
【MySQL\Oracle\PostgreSQL】迁移到openGauss数据出现的问题解决方案
mysql·postgresql·oracle
胡斌附体10 分钟前
mobaxterm终端sqlplus乱码问题解决
数据库·乱码·sqlplus·字符集设置
moon66sun19 分钟前
开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
数据库·esb
欧阳有财28 分钟前
[java八股文][Mysql面试篇]日志
java·mysql·面试
TDengine (老段)37 分钟前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
DarkAthena43 分钟前
【GaussDB】深度解析:创建存储过程卡死且无法Kill会话的疑难排查
数据库·gaussdb
叁沐1 小时前
MySQL 03 事务隔离:为什么你改了我还看不见?
mysql
Gauss松鼠会1 小时前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb
时序数据说1 小时前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb