MySQL学习笔记(6):常用函数

MySQL学习笔记(6):常用函数本文更新于2019-06-29,使用MySQL 5.7,操作系统为Deepin 15.4。 数值函数 函数 作用 ABS(x) 绝对值 CEIL(x) 向上取整 FLOOR(x) 向下取整 MOD(x

MySQL学习笔记(6):常用函数

本文更新于2019-06-29,使用MySQL 5.7,操作系统为Deepin 15.4。

数值函数

函数 作用
ABS(x) 绝对值
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x, y) 取余,等同x%y
RAND() [0, 1)区间的随机数
ROUND(x[, n]) 四舍五入至n位小数,n默认为0
TRUNCATE(x, n) 截断为n位小数

日期时间函数

函数 作用
CURDATE() 当前日期
CURTIME() 当前时间
DATE_ADD(t, INTERVAL expr type) 增加一定时间间隔
DATEDIFF(later, previous) later减previous相差的天数,不考虑时间
DATE_FORMAT(t, fmt) 使用fmt格式化
FROM_UNIXTIME(unix) UNIX时间戳的日期时间
HOUR(t) 小时
MINUTE(t) 分钟
MONTHNAME(t) 月份名(英文)
NOW() 当前日期时间
UNIX_TIMESTAMP(t) 转换成UNIX时间戳
WEEK(t) 一年中的第几周
YEAR(t) 年份

DATE_ADD(t, INTERVAL expr type)type可用如下的时间间隔类型。expr使用对应的格式,格式允许不严格的间隔(即任何标点符都可)。格式中的数值可使用负数。若整个格式就是一个数值,则可直接使用数值类型的格式,否则应使用字符串类型的格式。

时间间隔类型 格式
YEAR YY
MONTH MM
DAY DD
HOUR hh
MINUTE mm
SECOND ss
YEAR_MONTH YY-MM
DAY_HOUR DD hh
DAY_MINUTE DD hh:mm
DAY_SECOND DD hh:mm:ss
HOUR_MINUTE hh:mm
HOUR_SECOND hh:mm:ss
MINUTE_SECOND mm:ss

DATE_FORMAT(t, fmt)fmt参数可使用的格式符如下:

格式符类型 格式符 说明
%S/%s 两位数字形式的秒(00, …, 59)
%i 两位数字形式的分(00, …, 59)
%H 两位数字形式的时,24小时制(00, …, 23)
%h/%I 两位数字形式的时,12小时制(01, …, 12)
%k 数字形式的时,24小时制(0, …, 23)
%l 数字形式的时,12小时制(1, …, 12)
时分秒 %T 两位数字,24小时制的时分秒(hh:mm:ss)
时分秒 %r 两位数字,12小时制的时分秒(hh:mm:ss AM/PM)
上下午 %p AM或PM
星期 %W 英文星期(Sunday)
星期 %a 英文缩写星期(Sun)
星期 %w 数字形式的星期(0=Sunday)
%d 两位数字形式的日(01, …, 31)
%e 数字形式的日(1, …, 31)
%D 英文后缀形式的日(1st)
%M 英文月(January)
%b 英文缩写月(Jan)
%m 两位数字形式的月(01, …, 12)
%c 数字形式的月(1, …, 12)
%Y 4位数字形式的年
%y 2位数字形式的年
%j 一年中第几天,三位数字形式(001, …, 366)
%U 一年中第几周,Sunday为周中第一天,第一个Sunday为第一周的开始,两位数字形式(00, …, 52)
%u 一年中第几周,Monday为周中第一天,01-01为第一周的开始,两位数字形式(00, …, 52)
% %% 字符%

字符串函数

字符串首字符的下标为1。

函数 作用
CONCAT(v[, …]) 连接字符串,v也可以是数值
INSERT(str, idx, len, substr) 将str从idx(含)起的len个字符替换为substr
LEFT(str, len) 取左侧len个字符
LENGTH(str) 字符串长度
LOWER(str) 转换成小写
LPAD(str, len, pad) 使用pad在str左侧填充至长度为len
LTRIM(str) 去掉左侧空格
REPEAT(str, n) 重复n次
REPLACE(str, old, new) 使用new替换old
RIGHT(str, len) 取右侧len个字符
RPAD(str, len, pad) 使用pad在str右侧填充至长度为len
RTRIM(str) 去除右侧空格
STRCMP(str1, str2) str1<str2返回-1,str1=str2返回0,str1>str2返回1
SUBSTRING(str, idx, len) 截取str从idx(含)起长度为len的子串
TRIM(str) 去掉两侧空格
UPPER(str) 转换成大写

流程函数

函数 作用
IF(value, t, f) 如果value为真则返回t,否则返回f
IFNULL(value, result) 如果value不为NULL则返回value,否则返回result
CASE WHEN expr1 THEN result1 [WHEN …] [ELSE default] END 根据各表达式的真假返回结果
CASE value WHEN enum1 THEN result1 [WHEN …] [ELSE default] END value根据各枚举值返回结果

使用流程函数时注意NULL的情况。

聚合函数

函数 作用
BIT_AND(row) 按位与
BIT_OR(row) 按位或

其他函数

用于数据库管理的函数:

函数 作用
CURRENT_USER() 当前用户
DATABASE() 当前数据库名,同SCHEMA
PASSWORD(str) 加密成系统密码,长度为41
SCHEMA() 当前数据库名,同DATABASE
USER() 当前登录用户名
VERSION() 当前MySQL版本

用于辅助查询的函数:

函数 作用
FOUND_ROWS() 上一次查询返回的行数
LAST_INSERT_ID() 最后插入记录使用的自增长值。如一次插入多条记录,则返回第一条记录使用的自增长值

用于计算的函数:

函数 作用
BIN(value) 二进制形式表示
CRC32(value) CRC32值
HEX(value) 十六进制形式表示
INET_ATON(ip) IP从点分十进制转换成网络字节序整数
INET_NTOA(uint) IP从网络字节序整数转换成点分十进制
MD5(value) MD5值
SHA1(value) SHA1值

全局变量

变量 作用
CURRENT_TIMESTAMP 当前时间戳

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7683.html

(0)
上一篇 2023-03-16
下一篇 2023-03-16

相关推荐

  • mysql必知必会-创建高级联结[通俗易懂]

    mysql必知必会-创建高级联结[通俗易懂]使用表别名 使用别名引用被检索的表列 别名除了用于列名和计算字段外,SQL还允许给表名起别名。这样做 有两个主要理由: + 缩短SQL语句; + 允许在单条 SELECT 语句中多次使用相同的表。 可

    2023-01-25
    142
  • mysql 锁详解_请简述MySQL中三种锁的特点

    mysql 锁详解_请简述MySQL中三种锁的特点正文内容 模拟准备–如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本 例如:cmd: ap…

    2023-03-16
    157
  • win7原版系统安装教程_windows怎么安装

    win7原版系统安装教程_windows怎么安装
    场景 PostgreSQL PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处…

    2023-04-08
    162
  • Python CGI-I:Web应用程序中的动态内容生成器

    Python CGI-I:Web应用程序中的动态内容生成器在当今数字时代,将信息传递给公众变得越来越重要。随着许多人不再局限于传统的媒体渠道,网络变得越来越普及,越来越多的人也开始了解 Web 应用程序的重要性,这些应用程序可以将他们的想法呈现给整个世界。

    2024-03-19
    75
  • 如何运行 Python 程序?

    Python 程序员必须知道运行 Python 脚本或代码的所有可能方法。这是验证代码是否如我们所愿工作的唯一方法。 Python 解释器负责执行 Python 脚本。Python 解释器是一个在 Python 程序和计算机硬件之间工作的软件。这里我们描述了运行 Python 脚本的一系列方法。

    2023-08-24
    161
  • 如何干涉MySQL优化器使用hash join[亲测有效]

    如何干涉MySQL优化器使用hash join[亲测有效]GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 前言 实验 总结 前言 数据库的优化器相当于人类的大

    2023-06-05
    136
  • Python之Sqlite3数据库基本操作[亲测有效]

    Python之Sqlite3数据库基本操作[亲测有效] 在一些小的应用中,难免会用到数据库,Sqlite数据库以其小巧轻便,无需安装,移植性好著称,本文主要以一个简单的小例子,简述Python在Sqlite数据库方面的应用,仅供学习分享使用,如有…

    2023-03-28
    157
  • python redis cluster_rediscluster集群原理

    python redis cluster_rediscluster集群原理本文环境:centos 7,Python3编译安装成功,包括pip3,然后需要安装redis相关的Python3驱动包,本的redis指redis包而非redis数据库,rediscluster类似。

    2022-12-29
    201

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注