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

相关推荐
瓜牛_gn2 小时前
mysql特性
数据库·mysql
奶糖趣多多3 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt4 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧6 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Yaml47 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
Channing Lewis7 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
追风林7 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
毕业设计制作和分享8 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil278 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk9 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql