MySQL-函数

目录

常用字符串函数

字符串拼接:

字符串转小写:

字符串转大写:

左填充:

右填充:

去掉字符串前后空格:

返回一个字符串中指定范围的内容:

常用数值函数

向上取整

向下取整

取模,也就是余数

0-1的随机数

四舍五入,并保留指定位数小数位

常用时间函数

返回当前日期

返回当前时间

返回当前日期与时间

返回当前指定时间的年份

返回当前指定时间的月份

返回当前指定时间的日期

[返回一个日期/时间 在加上一个时间间隔expr 后的时间值](#返回一个日期/时间 在加上一个时间间隔expr 后的时间值)

起始时间与结束时间之间的天数

常用流程函数

IF函数

IFNULL函数

[CASE WHEN val1 THEN res1 ... ELSE default END 函数](#CASE WHEN [val1] THEN [res1] ... ELSE [default] END 函数)

[CASE expr WHEN val1 THEN res1 ... ELSE default END 函数](#CASE [expr] WHEN [val1] THEN [res1] ... ELSE [default] END 函数)


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

这段程序或者代码,其实已经在mysql程序中已经内置了。我们要做的就是调用这些内置的函数,去完成我们的业务需求。

常用字符串函数

字符串拼接:

select concat(S1,S2,...Sn);

字符串转小写:

select lower(字符串);

字符串转大写:

select upper(字符串);

左填充:

select lpad(字符串,总长度,要填充的内容)

一般情况:

特殊情况:因为总长度规定是5,good 加上 X 就达到5了,那么后面的 boy就被舍弃了。

右填充:

select rpad(字符串,总长度,要填充的内容);

一般情况:

特殊情况:和左填充同理

去掉字符串前后空格:

select trim(字符串)
注意:字符串中间的空格不会被去除

返回一个字符串中指定范围的内容:

select substring(字符串,开始下标,截取字符的个数);

常用数值函数

向上取整

select ceil(任意数值);

举例一:

举例二:

举例三:

举例四:

向下取整

select floor(任意数值);

举例一:

举例二:

举例三:

取模,也就是余数

select mod(任意数值1,任意数值2);

举例一:

举例二:

举例三:

0-1的随机数

select rand();

四舍五入,并保留指定位数小数位

select round(任意数值,小数位);

举例一:

举例二:

常用时间函数

返回当前日期

select curdate();

返回的时间格式为:年-月-日

返回当前时间

select curtime();

返回的时间格式为:时-分-秒

返回当前日期与时间

select now();

返回时间格式为:年-月-日 时-分-秒

返回当前指定时间的年份

select year(指定的时间);

返回当前指定时间的月份

select month(指定的时间);

返回当前指定时间的日期

select day(指定的时间);

返回一个日期/时间 在加上一个时间间隔expr 后的时间值

select date_add(指定时间,interval expr type);

interval 是固定格式

expr 是用户指定的具体时间数值

type 是 时间类型单位 例如:年,月, 日 ,秒等

举例一:往后推移10天

举例二:往后推移10年

起始时间与结束时间之间的天数

select datediff(开始时间,结束时间);

注意:该函数是使用第一个时间 减去 第二个时间得到的结果

也就是 开始时间 - 结束时间

举例一:

举例二:

常用流程函数

流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。

IF函数

select if(条件表达式,任意值1,任意值2)

举例一:

举例二:

IFNULL函数

select ifnull(值1,值2)

举例一:

举例二:

CASE WHEN val1 THEN res1 ... ELSE default END 函数

select

字段一,

字段二,

case when 条件表达式

then 输出的结果

...

case when 条件表达式

then 输出的结果

else 以上所有的case when条件都不满足时,将会输出else中的结果

end

from table;

学过Java的同学就会发现,这就是Java中的if ... else if ... else

CASE expr WHEN val1 THEN res1 ... ELSE default END 函数

select

字段一,

字段二,

case 任意值1

when 任意值2

then 输出的结果

...

case when 条件表达式

then 输出的结果

else 以上所有的case when条件都不满足时,将会输出else中的结果

end

from table;

学过Java的同学就会发现,这就是Java中的switch

相关推荐
captain3762 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
小此方3 小时前
Re:Mysql数据库基础篇(八):详细讲解复合查询、多表查询、自连接、多行、多列子查询与合并查询
数据库·mysql
xszivvvv3 小时前
Mariadb数据库frm文件异常,如何恢复数据
数据库·mariadb
smile_life_4 小时前
MySQL 设置 防止账户被暴力破解
数据库·mysql
ShineWinsu4 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
测试盐5 小时前
oracle数据库卡顿排查
数据库·oracle
滕州市燕猫虎计算机科技工作室个体工商户5 小时前
MySQL、MVCC、多版本并发控制
数据库·mysql·mvcc·数据库事务
明航咨询-陈老师5 小时前
ITSS运行维护服务能力成熟度认证技术纵深:标准模型、等级路径、2026审核趋势与CS/CMMI对比
服务器·数据库·cmmi
缓慢更新6 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
AI小百科6 小时前
向量数据库:AI 的「记忆仓库」是怎么工作的
数据库·人工智能·oracle