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>

相关推荐
xxxibolva1 小时前
SQL 学习
数据库·sql·学习
孪生质数-1 小时前
MySQL主从延迟根因诊断法
数据库·mysql
bLEd RING2 小时前
Redis 设置密码无效问题解决
数据库·redis·缓存
WiChP2 小时前
【V0.1B5】从零开始的2D游戏引擎开发之路
java·服务器·数据库
75115893 小时前
笔记:postgresql如何下载驱动并安装?
数据库·postgresql
荒川之神3 小时前
拉链表概念与基本设计
java·开发语言·数据库
Highcharts.js3 小时前
适合报表系统的可视化图表|Highcharts支持直接导出PNG和PDF
javascript·数据库·react.js·pdf
刘~浪地球3 小时前
Redis 从入门到精通(一):简介、安装与配置
数据库·redis·缓存
APIshop3 小时前
Java获取京东商品详情接口(item_get)实战指南
java·linux·数据库
Bat U3 小时前
MySQL数据库|联合查询
数据库·mysql