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>

相关推荐
Lucky GGBond2 分钟前
MySQL 报错解析:SQLSyntaxErrorException caused by extra comma before FROM
数据库·mysql
Java水解24 分钟前
Mysql之存储过程
后端·mysql
漫步向前31 分钟前
mysql主备延迟
mysql
Claudio31 分钟前
【MySQL】联合索引和覆盖索引(索引失效的误区讲解+案例分析)
数据库
纪元A梦1 小时前
Redis最佳实践——性能优化技巧之监控与告警详解
数据库·redis·性能优化
GarfieldFine1 小时前
MySQL索引使用一定有效吗?如何排查索引效果?
数据库·mysql
cypking1 小时前
mysql 安装
数据库·mysql·adb
一个数据大开发2 小时前
解读《数据资产质量评估实施规则》:企业数据资产认证落地的关键指南
大数据·数据库·人工智能
鬼面瓷2 小时前
CAPL编程_03
前端·数据库·笔记
南客先生3 小时前
MySQL索引优化、SQL分析与运行原理 - Java架构师面试实战
mysql·mvc·锁机制·sql分析·事务隔离级别·索引优化