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>

相关推荐
w***298526 分钟前
Knife4j文档请求异常(基于SpringBoot3,查找原因并解决)
java·服务器·数据库
砚边数影8 小时前
运营商网管系统重构:如何解决海量投诉数据下的“查询延迟”与“写入瓶颈”?
网络·数据库·时序数据库·kingbase·kingbasees·数据库平替用金仓·金仓数据库
shsh2008 小时前
mybatis plus打印sql日志
数据库·sql·mybatis
山峰哥8 小时前
数据库调优实战:索引策略与查询优化案例解析
服务器·数据库·sql·性能优化·编辑器
c***03239 小时前
MySQL 启动失败 (code=exited, status=1FAILURE) 异常解决方案
数据库·mysql
ritxgt0069 小时前
MySQL 数据增删改查
android·数据库·mysql
t***442310 小时前
mysql之数字函数
数据库·mysql
zlpzpl10 小时前
MySQL 的 INSERT(插入数据)详解
android·数据库·mysql
爱考证的小刘10 小时前
Oracle OCP、MySQL OCP数据库证书怎么选?
mysql·oracle·oracle数据库·oracle认证·mysql自学·mysql题库·oracle学习
摩拜芯城IC10 小时前
8通道TDM分组传输IC DS34S108GN芯片参数资料 E1/T1分组化芯片
数据库