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

相关推荐
Elastic 中国社区官方博客12 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
编程爱好者熊浪13 小时前
两次连接池泄露的BUG
java·数据库
南宫乘风15 小时前
基于 Flask + APScheduler + MySQL 的自动报表系统设计
python·mysql·flask
TDengine (老段)15 小时前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
qq74223498415 小时前
Python操作数据库之pyodbc
开发语言·数据库·python
姚远Oracle ACE16 小时前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
Dxy123931021616 小时前
MySQL的SUBSTRING函数详解与应用
数据库·mysql
码力引擎16 小时前
【零基础学MySQL】第十二章:DCL详解
数据库·mysql·1024程序员节
杨云龙UP16 小时前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
l1t17 小时前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb