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

相关推荐
Karoku06618 分钟前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
小技与小术1 小时前
数据库表设计范式
数据库·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验九 触发器
数据库·sql·mysql·oracle·实验报告
Loganer2 小时前
MongoDB分片集群搭建
数据库·mongodb
LKID体2 小时前
Python操作neo4j库py2neo使用之创建和查询(二)
数据库·python·neo4j
刘大浪2 小时前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
一只爱撸猫的程序猿2 小时前
简单实现一个系统升级过程中的数据平滑迁移的场景实例
数据库·spring boot·程序员
无敌岩雀2 小时前
MySQL中的索引
数据库·mysql
a_安徒生3 小时前
linux安装TDengine
linux·数据库·tdengine