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

相关推荐
·薯条大王2 小时前
MySQL联合查询
数据库·mysql
morris1314 小时前
【redis】redis实现分布式锁
数据库·redis·缓存·分布式锁
hycccccch4 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
这个懒人5 小时前
深入解析Translog机制:Elasticsearch的数据守护者
数据库·elasticsearch·nosql·translog
Yan-英杰5 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
NineData5 小时前
NineData云原生智能数据管理平台新功能发布|2025年3月版
数据库
百代繁华一朝都-绮罗生7 小时前
检查是否存在占用内存过大的SQL
数据库·sql
吾日三省吾码7 小时前
Python 脚本:自动化你的日常任务
数据库·python·自动化
CZIDC7 小时前
win11 系统环境下 新安装 WSL ubuntu + ssh + gnome 桌面环境
数据库·ubuntu·ssh
直裾7 小时前
Mapreduce的使用
大数据·数据库·mapreduce