目录

1.返回一个字符串在出现指定数量的分隔符之前的子字符串        SUBSTRING_INDEX()

2.减去时间        SUBTIME()

3.返回总和        SUM()

4.返回函数执行的时间        SYSDATE()

5.返回参数的切线        TAN()

6.提取表达式传递的时间部分        TIME()

7.格式化为时间        TIME_FORMAT()

8.返回转换为秒的参数               TIME_TO_SEC()

9.减去时间        TIMEDIFF()

10.使用单个参数,此函数返回日期或日期时间表达;有两个参数,参数的总和  TIMESTAMP()

11.向日期时间表达式添加间隔        TIMESTAMPADD()

12.从日期时间表达式中减去间隔        TIMESTAMPDIFF()

13.返回转换为 base-64 字符串的参数        TO_BASE64()

14.返回转换为天的日期参数        TO_DAYS()

15.返回自 第 0 年        TO_SECONDS()

16.删除前导空格和尾随空格        TRIM()

17.截断到指定的小数位数        TRUNCATE()

​18.解压缩压缩的字符串        UNCOMPRESS()

19.返回压缩前字符串的长度        UNCOMPRESSED_LENGTH()

20.返回包含数字的十六进制表示形式的字符串        UNHEX()

21.返回 Unix 时间戳        UNIX_TIMESTAMP()

22.返回替换的 XML 片段        UpdateXML()

23.转换为大写        UPPER() / UCASE()

24.客户端提供的用户名和主机名        USER()

25.返回当前 UTC 日期        UTC_DATE()

26.返回当前 UTC 时间        UTC_TIME()

27.返回当前 UTC 日期和时间        UTC_TIMESTAMP()

28.返回通用唯一标识符 (UUID)        UUID()

29.返回整数值通用标识符        UUID_SHORT()

30.将字符串 UUID 转换为二进制        UUID_TO_BIN()

31.确定密码的强度        VALIDATE_PASSWORD_STRENGTH()

32.定义插入过程中要使用的值        VALUES()

33.返回总体标准方差        VAR_POP()

34.返回样本方差        VAR_SAMP()

35.返回总体标准方差        VARIANCE()

36.返回 MySQL 数据库的当前版本       VERSION()

37.等到给定的 GTID 在副本上执行        WAIT_FOR_EXECUTED_GTID_SET()

38.返回周数        WEEK()

39.返回工作日索引        WEEKDAY()

40.返回日期的日历周 (1-53)        WEEKOFYEAR()

41.返回字符串的权重字符串        WEIGHT_STRING()

42.逻辑异或        XOR

43.返回年份        YEAR()

44.返回年份和周        YEARWEEK()

45.按位或        |

46.按位反转        ~


1.返回一个字符串在出现指定数量的分隔符之前的子字符串        SUBSTRING_INDEX()

脚本

SELECT SUBSTRING_INDEX('hello world china', ' ', 2);

分析

在出现指定数量的分隔符之前返回字符串的子字符串

结果

2.减去时间        SUBTIME()

脚本

SELECT SUBTIME('2022-12-16 23:59:25','12:45:03'),SUBTIME(NOW(),NOW());

分析

SUBTIME() 函数从时间/日期时间表达式中减去时间,然后返回新的时间/日期时间。

语法

SUBTIME(datetimetime_interval)

参数值

参数 描述
datetime 必需。要修改的时间或日期时间
time_interval 必需。从 datetime 中减去的时间间隔。 正负值都可以

结果

3.返回总和        SUM()

脚本

create table a
(id    int auto_increment primary key,score int
);insert into a (score)
values (90),(90),(85),(80),(70);
insert into a (score) value (100);select sum(score) from a;

结果

4.返回函数执行的时间        SYSDATE()

脚本

select SYSDATE();

分析

SYSDATE() 函数返回当前日期和时间。

注意:日期和时间以 "YYYY-MM-DD HH:MM:SS" (字符串)或 YYYYMMDDHHMMSS(数字)形式返回。

结果

5.返回参数的切线        TAN()

脚本

select tan(0),tan(pi()),tan(180);

结果

6.提取表达式传递的时间部分        TIME()

脚本

select time(now()),time('2022-12-16 13:33:23');

结果

7.格式化为时间        TIME_FORMAT()

脚本

SELECT TIME_FORMAT('19:30:10', '%h %i %s %p'),TIME_FORMAT('19:30:10', '%T');

分析

语法

TIME_FORMAT(timeformat)

参数值

参数 描述
time 必需。格式化时间
format 必需。要使用的格式。 可以是以下之一或组合:

格式 描述
%f 微秒(000000 到 999999)
%H 小时(00 到 23)
%h 小时(00 到 12)
%I 小时(00 到 12)
%i 分钟(00 到 59)
%p 上午或下午
%r 12 小时 AM 或 PM 格式的时间 (hh:mm:ss AM/PM)
%S 秒(00 到 59)
%s 秒(00 到 59)
%T 24 小时制时间 (hh:mm:ss)

结果

8.返回转换为秒的参数               TIME_TO_SEC()

脚本

SELECT TIME_TO_SEC(now());

结果

9.减去时间        TIMEDIFF()

脚本

select timediff('2022-12-17 12:00:36','2022-12-17 11:00:23');

分析

TIMEDIFF() 函数返回两个时间/日期时间表达式之间的差异。

注意: time1time2格式要一致,计算为time1 - < em>time2.

语法

TIMEDIFF(time1time2)

参数值

参数 描述
time1 必需。时间值
time2 必需。另一个时间值

结果

10.使用单个参数,此函数返回日期或日期时间表达;有两个参数,参数的总和  TIMESTAMP()

脚本

select timestamp(now()),timestamp('2022-12-17','15:08:36');

分析

注意:如果此函数指定了两个参数,它首先将第二个参数添加到第一个参数,然后返回一个日期时间值。

语法

TIMESTAMP(expressiontime)

参数值

参数 描述
expression 必需。日期或日期时间值
time 可选。添加到expression

结果

11.向日期时间表达式添加间隔        TIMESTAMPADD()

脚本

SELECT TIMESTAMPADD(WEEK, 1, '2022-12-17'),TIMESTAMPADD(DAY, 7, '2022-12-17'),TIMESTAMPADD(SECOND ,60,'2022-12-17');

分析

语法

TIMESTAMPADD(unit, interval, datetime)

参数

unit                必需的。时间间隔的单位

interval        必需的。一个表示时间间隔的整数值。

datetime        必需的。一个 datetime 值或表达式。

unit 可选单位

  1. FRAC_SECOND 表示间隔是毫秒
  2. SECOND 秒
  3. MINUTE 分钟
  4. HOUR 小时
  5. DAY 天
  6. WEEK 星期
  7. MONTH 月
  8. QUARTER 季度
  9. YEAR 年

结果

12.从日期时间表达式中减去间隔        TIMESTAMPDIFF()

脚本

SELECT TIMESTAMPDIFF(WEEK, '2022-12-10', '2022-12-17'),TIMESTAMPDIFF(DAY, '2022-11-16', '2022-12-17'),TIMESTAMPDIFF(MONTH, '2022-11-16', NOW());

分析

语法

TIMESTAMPDIFF(unit, datetime1, datetime2)

参数

unit                 必需的。时间间隔的单位

datetime1        必需的。一个 datetime 值或表达式。

datetime2       必需的。一个 datetime 值或表达式。

unit 可选单位和TIMESTAMPADD一样

结果

13.返回转换为 base-64 字符串的参数        TO_BASE64()

脚本

SELECT TO_BASE64('abc'), FROM_BASE64(TO_BASE64('abc'));

分析

将字符串参数转换为 base-64 编码形式,并且 将结果作为带有连接的字符串返回 字符集和排序规则。如果参数不是字符串, 在转换发生之前,它会转换为字符串。

FROM_BASE64()转换

存在不同的 base-64 编码方案。这些是 TO_BASE64() 和 FROM_BASE64() 使用的编码和解码规则:

字母值 62 的编码为 。'+'

字母值 63 的编码为 。'/'

编码输出由 4 组可打印组成 字符。每 3 个字节的输入数据进行编码 使用 4 个字符。如果最后一个组不完整,则为 填充一定长度的字符 的 4.'='

每 76 个字符的编码后添加一个换行符 输出,将长输出分成多行。

解码识别并忽略换行符、回车符、 制表符和空格。

结果

14.返回转换为天的日期参数        TO_DAYS()

脚本

SELECT TO_DAYS('2022-12-17');

分析

将指定日期转为距离 0 年的天数并返回

TO_DAYS() 不适用于 与公历出现之前的值一起使用 日历(1582),因为它没有考虑到 更改日历时丢失的天数。对于日期 在1582年之前(在其他地区可能更晚), 此函数的结果不可靠

结果

15.返回自 第 0 年        TO_SECONDS()

脚本

SELECT  TO_SECONDS('2022-12-17');

分析

与 TO_DAYS()类似,此函数返回秒数

结果

16.删除前导空格和尾随空格        TRIM()

脚本

SELECT TRIM('   HELLO WORLD    ');

分析

只能删除前后的空格,中间的空格不可以删除

结果

17.截断到指定的小数位数        TRUNCATE()

脚本

SELECT TRUNCATE(123.456,2),TRUNCATE(123.456789,5);

分析

直接截取不遵循四舍五入原则

结果

18.解压缩压缩的字符串        UNCOMPRESS()

脚本

SELECT UNCOMPRESS(COMPRESS('any string'));

分析

解压缩 COMPRESS() 函数压缩后的字符串

解压缩指定的字符串 ,并将结果作为二进制字符串返回。

结果

19.返回压缩前字符串的长度        UNCOMPRESSED_LENGTH()

脚本

SELECT UNCOMPRESSED_LENGTH(COMPRESS('any string'));

结果

20.返回包含数字的十六进制表示形式的字符串        UNHEX()

脚本

SELECT UNHEX('4D7953514C');

分析

执行HEX(str)的逆运算。也就是说,它解释每对十六进制数字的参数作为数字并将其转换成由数字表示的字符。所得字符返回为二进制字符串。

结果

21.返回 Unix 时间戳        UNIX_TIMESTAMP()

脚本

SELECT UNIX_TIMESTAMP('2022-12-17'),UNIX_TIMESTAMP();

分析

不写参数默认是now

结果

22.返回替换的 XML 片段        UpdateXML()

脚本

SELECT UpdateXML('<a><b>ccc</b><d></d></a>', '/a', '<e>fff</e>'),UpdateXML('<a><b>ccc</b><d></d></a>', '/b', '<e>fff</e>');

分析

UPDATEXML (XML_document, XPath_string, new_value);

第一个参数:XML_document是String格式,为XML文档对象的名称

第二个参数:XPath_string (Xpath格式的字符串)

第三个参数:new_value,String格式,替换查找到的符合条件的数据

结果

23.转换为大写        UPPER() / UCASE()

脚本

select upper('abc'),ucase('abc');

结果

24.客户端提供的用户名和主机名        USER()

脚本

select user();

结果

25.返回当前 UTC 日期        UTC_DATE()

脚本

select utc_date();

结果

26.返回当前 UTC 时间        UTC_TIME()

脚本

select utc_time();

分析

结果

27.返回当前 UTC 日期和时间        UTC_TIMESTAMP()

脚本

SELECT UTC_TIMESTAMP();

结果

28.返回通用唯一标识符 (UUID)        UUID()

脚本

SELECT UUID();

分析

UUID代表通用唯一标识符。UUID是基于RFC 4122“通用唯一标识符(UUID)URN命名空间”)定义的。

UUID被设计为在空间和时间全球独一无二的数字。 预期两个UUID值是不同的,即使它们在两个独立的服务器上生成。

在MySQL中,UUID值是一个128位的数字,表示为以下格式的十五进制数字的utf8字符串:

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

结果

29.返回整数值通用标识符        UUID_SHORT()

脚本

SELECT UUID_SHORT();

分析

MySQL中的此函数用于返回“short”通用标识符,为64位无符号整数。如果满足以下条件,则保证UUID_SHORT()的值是唯一的:

  1. 当前服务器的server_id值介于0到255之间,并且在我们的源服务器和副本服务器集合中是唯一的。
  2. 在mysqld重新启动之间,我们不为服务器主机设置系统时间。
  3. 在mysqld重新启动之间,我们平均每秒调用UUID_SHORT()少于1600万次。

结果

30.将字符串 UUID 转换为二进制        UUID_TO_BIN()

脚本

SELECT HEX(UUID_TO_BIN('fe69524c-7de2-11ed-aa0b-000c2957f410'));

分析

没有HEX()只这样的

使用HEX() 函数将它转为十六进制字符串,增强可读性

结果

31.确定密码的强度        VALIDATE_PASSWORD_STRENGTH()

分析

使用此函数需要下载插件

​​​​​​​密码验证组件

密码测试

返回值
长度 < 4 0
长度 ≥ 4 和 <validate_password.长度 25
满足策略 1 (LOW) 50
满足策略 2 (MEDIUM) 75
满足策略 3 (STRONG)

100

32.定义插入过程中要使用的值        VALUES()

​​​​​​​脚本

create table a
(id    int auto_increment primary key,score int
);insert into a (score)
values (90),(90),(85),(80),(70);
insert into a (score) value (100);

结果

33.返回总体标准方差        VAR_POP()

​​​​​​​脚本

create table a
(id    int auto_increment primary key,score int
);insert into a (score)
values (90),(90),(85),(80),(70);
insert into a (score) value (100);select var_pop(score) from a;

分析

总体方差是一组资料中各数值与其算术平均数离差平方和的平均数。总体标准差则是总体方差的平方根。

结果

34.返回样本方差        VAR_SAMP()

​​​​​​​脚本

create table a
(id    int auto_increment primary key,score int
);insert into a (score)
values (90),(90),(85),(80),(70);
insert into a (score) value (100);select var_samp(score) from a;

分析

先求出总体各单位变量值与其算术平均数的离差的平方,然后再对此变量取平均数,就叫做样本方差。样本方差用来表示一列数的变异程度。样本均值又叫样本均数。即为样本的均值。
均值是指在一组数据中所有数据之和再除以数据的个数。

结果

35.返回总体标准方差        VARIANCE()

​​​​​​​脚本

create table a
(id    int auto_increment primary key,score int
);insert into a (score)
values (90),(90),(85),(80),(70);
insert into a (score) value (100);select variance(score) from a;

分析

总体方差是一组资料中各数值与其算术平均数离差平方和的平均数。总体标准差则是总体方差的平方根。

这是数学问题

结果

36.返回 MySQL 数据库的当前版本       VERSION()

​​​​​​​脚本

    select version();

结果

37.等到给定的 GTID 在副本上执行        WAIT_FOR_EXECUTED_GTID_SET()​​​​​​​

分析

WAIT_FOR_EXECUTED_GTID_SET(GTID_SET [, TIMEOUT])

当GTID_SUBSET(GTID_SET, @@global.gtid_executed)成立时,即指定的GTID是gtid_executed的子集时,返回0表示成功,否则返回1,表示失败。

38.返回周数        WEEK()

​​​​​​​脚本

select week(now());

分析

返回这周是今年的多少周

结果

39.返回工作日索引        WEEKDAY()

​​​​​​​脚本

select weekday(now());

分析

返回给定日期的工作日编号。

注意:

0 = 星期一

1 = 星期二

2 = 星期三

3 = 星期四

4 = 星期五

5 = 星期六

6 = 星期日

结果

40.返回日期的日历周 (1-53)        WEEKOFYEAR()

​​​​​​​脚本

select weekofyear(now());

分析

与week()一样

结果

41.返回字符串的权重字符串        WEIGHT_STRING()

​​​​​​​脚本

SELECT HEX(WEIGHT_STRING('Cat'));

分析

语法

WEIGHT_STRING(str [AS {CHAR|BINARY}(N)] [flags])

此函数返回输入字符串的权重字符串。

返回值是一个二进制字符串,它 表示字符串的比较和排序值。

它具有以下属性:

  • 如果 WEIGHT_STRING(str1) = WEIGHT_STRING(str2),则 str1 = str2(str1 和 str2 被视为相等)
  • 如果 WEIGHT_STRING(str1) < WEIGHT_STRING(str2),则 str1 < str2 ( str1 在 str2 之前排序)

WEIGHT_STRING() 是一个供内部使用的调试函数。

输入字符串 str 是一个字符串表达式。

如果输入是非二进制(字符)字符串(如 CHAR、VARCHAR 或 TEXT 值),则返回值包含字符串的排序规则权重。

如果输入是二进制(字节)字符串,例如二进制、变量或 BLOB 值,则返回值与输入相同(二进制字符串中每个字节的权重是字节值)。

如果输入为 NULL,则 WEIGHT_STRING() 返回 NULL

结果

42.逻辑异或        XOR

​​​​​​​脚本

select 1 xor 0, 1 xor 1,0 xor 0,null xor 1;

分析

XOR 表示逻辑异或,具体语法规则为:

  • 当任意一个操作数为 NULL 时,返回值为 NULL;
  • 对于非 NULL 的操作数,如果两个操作数都是非 0 值或者都是 0 值,则返回值为 0;
  • 如果一个为0值,另一个为非 0 值,返回值为 1。

结果

43.返回年份        YEAR()

​​​​​​​脚本

select year(now());

结果

44.返回年份和周        YEARWEEK()

​​​​​​​脚本

select yearweek(now());

结果

45.按位或        |

​​​​​​​脚本

SELECT 10 | 15, 9 | 4 | 2;

分析

参与|运算的两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0。例如1|1结果为 1,0|0结果为0,1|0结果为1,这和逻辑运算中的||非常类似。

10 的补码为 1010,15 的补码为 1111,按位或运算之后,结果为 1111,即整数 15;9 的补码为 1001,4 的补码为 0100,2 的补码为 0010,按位或运算之后,结果为 111,即整数 15。

结果

46.按位反转        ~

​​​​​​​脚本

SELECT ~1,~18446744073709551614;

分析

位取反是将参与运算的数据按对应的补码进行反转,也就是做 NOT 操作,即 1 取反后变 0,0 取反后变为 1。

常量 1 的补码为 63 个‘0‘加 1 个’1‘,位取反后就是 63 个’1‘加一个’0‘,转换为二进制后就是 18446744073709551614。

结果

函数大全1

函数大全2

函数大全3

函数大全4

函数大全5

函数大全6

函数大全7​​​​​​​

MySQL --- 函数大全 8相关推荐

  1. 珍藏多年的MySQL函数大全笔记,掌握数据库真不难

    做程序员的谁会离得开数据库呢?今天就来分享一下我整理的MySQL的常用函数,基本上囊括了平时要用的函数,它们已经陪我走过了不少年头了,风里来雨里去,缝缝补补又几年,希望能帮到你们! 如果数据库函数你能 ...

  2. MySQL --- 函数大全 6

    目录 1.结果集的分区中的每一行分配一个连续的整数        ROW_NUMBER() 2.将字符串追加到指定的数量        RPAD() 3.删除尾随空格        RTRIM() 4 ...

  3. MySQL --- 函数大全 5

    目录 1.返回余数 / 取模        MOD() 2.从过去的日期返回月份        MONTH() 3.返回月份名称        MONTHNAME() 4.从 LineString 值 ...

  4. mysql函数大全最小,MySQL函数一览_MySQL函数全部汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  5. MySQL --- 函数大全 7

    目录 1.从地理哈希值返回纬度        ST_LatFromGeoHash() 2.点的返回纬度        ST_Latitude() 3.返回线字符串的长度        ST_Lengt ...

  6. MySQL函数大全 及用法示例

    字符串函数 ASCII(str)    返回字符串str的第一个字符的ASCII值(str是空串时返回0)   mysql> select ASCII('2');   -> 50   my ...

  7. 熬夜爆肝整理!史上最硬核的Mysql函数大全,还不收藏?

    作者:IT邦德 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程 (Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM. Mysql.Oce ...

  8. MySql 函数大全

    一. 控制流程函数 a)  CASE WHEN THEN 函数 语法: CASE value WHEN [compare-value] THEN result [WHEN [compare-value ...

  9. MySQL函数大全及用法示例

    字符串函数 ASCII(str)    返回字符串str的第一个字符的ASCII值(str是空串时返回0)   mysql> selectASCII('2');   -> 50   mys ...

最新文章

  1. R语言构建xgboost模型:基于叶子索引衍生出新的特征并进行独热编码(one-hot encoding)之后构建新的模型、比较加入叶子索引特征的模型的分类性能提升
  2. 2017-2018-1 20155201 实验五 通讯协议设计
  3. 前端开发的浏览器知识
  4. Module build failed: Error: Missing binding
  5. VMware 修复多款产品中的高危漏洞
  6. 数据结构—堆栈(思维导图)
  7. javac 命令的作用_机加工行业MES系统在生产调度中的重要作用
  8. 实战Vue:基于Vue的移动端购物车单界面实现
  9. [转]mysql delete 使用别名 语法
  10. @Transactional注解属性(2)
  11. UDS(ISO14229)诊断服务功能及描述完结篇
  12. 激光SLAM:LOAM-Livox 算法研究(1) -- 功能包编译与验证
  13. vue项目实现国际化方案
  14. 【FPGA——工具篇】:Modelsim SE-64 10.4下载、破解、安装过程
  15. 服务器怎么使用无线网卡,无线上网卡怎么用
  16. 详解UML类图(口诀记忆箭头方向)
  17. matplotlib绘制两个图形及网格、透明度、图例、颜色等
  18. 长春哪个学校可以学习计算机编程的,长春编程学习,长春学编程的学校,长春学编程自学好还是报班好 - IT教育频道...
  19. java计算机毕业设计青岛地区常见昆虫图鉴与论坛源程序+mysql+系统+lw文档+远程调试
  20. 请求分页置换算法——先进先出算法(FIFO)

热门文章

  1. 流过泪的爱情才是爱情!
  2. 移除浏览器的搜狗导航
  3. ubuntu16.04下linux内核编译升级更新以及设备驱动程序的编写
  4. C语言实现中缀转后缀表达式,并求值
  5. ipad1最新版本_如何将您的iPad更新到最新版本的iPadOS
  6. graphics.h头文件(easyx)下载并简单快速使用(C语言c++)
  7. 郑州哪家公司网站建设建设比较好?
  8. HDLbits笔记-移位寄存器
  9. 200行Python制作音乐下载器,支持所有主流的平台
  10. 客户关系管理软件crm是越早使用越好的软件