Mysql单行函数

文章目录

  • 数值函数
    • 基本函数
    • 角度与弧度转化
    • 三角函数
    • 指数与对数
    • 进制间转换
  • 字符串函数
  • 日期和时间函数
    • 获取日期、时间
    • 日期与时间戳的转换
    • 获取月份、星期、星期数、天数等函数
    • 日期的操作函数
  • 时间和秒钟转换的函数
    • 计算日期和时间的函数
    • 日期的格式化与解析
  • 流程控制函数
  • 加密与解密函数
  • Mysql信息函数
  • 其他函数

数值函数

基本函数


ABS(X) 返回x的绝对值
SIGN(X) 返回x符号。正数为1,负数为-100
PI() 返回圆周率
CEIL(X) 返回大于等于某个值的最小整数
FLOOR(X) 返回小于等于某个值的至大整数
LEAST(value1,value2,...) 返回列表中最小值
GREATEST(value1,value2,...) 返回列表中的最大值
MOD(N,M) 返回x除以y的余数
RAND() 返回0~1随机值
ROUND(X) 返回x的四舍五入值
ROUND(X,D) 返回x的四舍五入值,并保留y位
SQRT(X) 返回x的平方根。当x为负数,返回NULL

角度与弧度转化

RADIANS(X) 将角度转化为弧度,其中x为角度值
DEGREES(X) 将弧度转化为角度,其中x为弧值

三角函数

SIN(X) 返回x的正弦值,x为弧度值
ASIN(X) 返回x的反正弦值,获取正弦为x的值。若x的值不在-1~1之间,返回NULL
COS(X) 返回x的余弦值,x为弧度值
ACOS(X) 返回x的反余弦值,获取余弦为x的值。若x的值不在-1~1之间,返回NULL
TAN(X) 返回x的正切值,x为弧度值
ATAN(X) 返回x的反正切值,获取正切为x的值。
ATAn(X) 返回两个参数的反正切值
COT(X) 返回x余切值,x为弧度值

指数与对数

POW(X,Y) 返回x的y次方
EXP(X) 返回e的x次方
LN(X) 返回以e为底x的对数,当x<=0时,返回NULL
LOG10(X)10为底x的对数,当x<=0时,返回NULL
LOG2(X)2为底x的对数,当x<=0时,返回NULL

进制间转换

BIN(N) 返回x的2进制编码
HEX(N) 返回x的16进制编码
OCT(N) 返回x的8进制编码
CONV(N,f1,f2) 返回f1进制数变为f2进制数

字符串函数

注意:Mysql中,字符串的位置是从1开始的。

ASCII(str) 返回字符串str中第一个字符的ASCII码值
CHAR_LENGTH(str) 返回字符串str的字符数
LENGTH(str) 返回字符串str的字节数,和字符集有关
CONCAT(str1,str2,...) 连接str1,str2为一个字符串
CONCAT_WS(x,str1,str2,...) 同CONCAT()函数,但是每个字符串之间要加上x
INSERT(str,idx,len,replacestr) 将字符串str从第id位置开始,len个字符长的字串替换为字符串replacestr
REPLACE(str,a,b) 用字符串b替换字符串str所出现的字符串a
UPPER(str) 将字符串str中所有字母转成大写字母
LOWER(str) 将字符串str中所有字母转成小写字母
LEFT(str,n) 返回字符串str最左边n个字符
RIGHT(str,n) 返回字符串str最右边n个字符
LPAD(str,len,pad) 用字符串pad对str最左边进行填充,直到str长度为len个字符
RPAD(str,len,pad) 用字符串pad对str最右边进行填充,直到str长度为len个字符
LTRIM(str) 去掉字符串str左侧的空格
RTRIM(str) 去掉字符串str右侧的空格
TRIM(str) 去掉字符串str开始与结尾的空格
TRIM(s1 FROM s) 去掉字符串str开始与结尾的s1
TRIM(LEADING s1 FROM s) 去掉字符串str结尾处s1
REPEAT(str,n) 返回str重复n次的结果
SPACE(n) 返回n个空格
STRCMP(s1,s2) 比较字符串s1,s2的ASCII码值的大小
SUBSTR(str,index,len) 返回字符串str的index位置其len个字符
LOCATE(substr,str) 返回字符串substr在字符串str首次出现位置
ELT(m,s1,s2,...) 返回指定位置的字符串,如果m=1,则返回s1
FIELD(s,s1,s2,...) 返回字符串s在字符串列表中第一次出现的位置
FIND_IN_SET(s1,s2) 返回字符串s1在字符串s2中出现的位置。其中,字符串s2是一个以逗号分隔的字符串
REVERSE(str) 返回反转后的字符串
NULLIF(value1,value2) 比较两个字符串,如果value1与value2相等,则返回NULL,否则返回value1

日期和时间函数

获取日期、时间

CURDATE() 返回当前时间(年月日)
CURTIME() 返回当前时间(时分秒)
NOW() 返回当前系统日期和时间
UTC_DATE() 返回UTC(世界标准时间)日期
UTC_TIME() 返回UTC(世界标准时间)时间

日期与时间戳的转换

UNIX_TIMESTAMP() 以UNIX时间戳的形式返回当前时间。
UNIX_TIMESTAMP(date) 将时间date以UNIX时间戳的形式返回。
FROM_UNIXTIME(timestamp) 将UNIX时间戳的时间转换为普通格式的时间。

获取月份、星期、星期数、天数等函数

YEAR(date) 返回具体的日期值
HOUR(time) 返回具体的时间值
MONTHNAME(date) 返回月份:January,...
DAYNAME(date) 返回星期几:MONDAY,TUESDAY...
WEEKDAY(date) 返回周几,注意周一是0,周二是1,...,周日是6
QUARTER(date) 返回日期对应的季度,范围1~4
WEEK(date) 返回一年中第几周
DAYOFYEAR(date) 返回日期是一年中的第几天
DAYOFMONTH(date) 返回日期位于所在月份的第几天
DAYOFWEEK(date) 返回周几,注意:周日是1,周一是2,...

日期的操作函数

EXTRACT(type FROM date) 返回指定日期中特定的部分,type指定返回中得值
type取值含义
MICROSECOND返回毫秒数
SECOND返回秒数
MINUTE返回分钟数
HOUR返回小时数
DAY返回天数
WEEK返回日期在一年中的第几个星期
MONTH返回日期在一年中的第几个月
QUARTER返回日期在一年中的第几个季度
YEAR返回日期的年份
SECOND_MICROSECOND返回秒和毫秒值
MINUTE_MICROSECOND返回分钟和毫秒值
MINUTE_SECOND返回分钟和秒值
HOUR_MICROSECOND返回小时和毫秒值
HOUR_SECOND返回小时和秒值
HOUR_MINUTE返回小时和分钟值
DAY_MICROSECOND返回天和毫秒值
DAY_SECOND返回天和秒值
DAY_MINUTE返回天和分钟值
DAY_HOUR返回天和小时
YEAR_MONTH返回年和月

时间和秒钟转换的函数

TIME_TO_SEC(time)time转化为秒并返回结果值
SEC_TO_TIME(seconds) 将secomds描述转化为包含小时、分钟和秒的时间

计算日期和时间的函数

DATE_ADD(datetime,INTERVAL expr type) 返回给定日期时间相差INTERVAL时间段的日期时间
DATE_SUB(date,INTERVAL expr type) 返回与date相差INTERVAL时间间隔的日期
ADDTIME(time1,time2) 返回time1加上time2的时间。当time2为一个数字时代表的是秒,可以为负数
SUBTIME(time1,time2) 返回time1减去time2后的时间。当time2为一个数字时代表的是秒,可以为负数
DATEDIFF(date1,date2) 返回date1-date2的日期间隔天数
TIMEDIFF(time1,time2) 返回time1-time2的时间间隔
FROM_DAYS(N) 返回从000011日起,N天以后的日期
TO_DAYS(date) 返回日期date距离000011日的天数
LAST_DAY(date) 返回date所在月份的最后一天的日期
MAKEDATE(year,n) 针对给定年份与所在年份中的天数返回一个日期
MAKETIME(hour,minute,second) 将给定的小时、分钟和秒组合成时间并返回
PERIOD_ADD(time,n) 返回time加上n后的时间

日期的格式化与解析

DATE_FORMAT(date,fmt) 按照字符串fmt格式化日期date值
TIME_FORMAT(time,fmt) 按照字符串fmt格式化时间time值
GET_FORMAT(date_type, form_type) 返回日期字符串的显示格式
STR_TO_DATE(str,fmt) 按照字符串fmt对str进行解析,解析为一个日期

上述非 GET_FORMAT 函数中fmt参数常用的格式符

格式符说明格式符说明
%Y4位数字表示年份%y两位数字表示年份
% M月名表示月份(January,…)%m两位数字表示月份(01,02,…)
%b缩写的月名(Jan,Feb,…)%c数字表示月份
%D英文后缀表示月中天数(1st,2nd,…)%d两位数字表示月中天数(01,02,…)
%e数字形式表示月中天数(1,2,…)
%H两位数字表示小数,24小时制(01,02,…)%h两位数字表示小时,12小时制(01,02,…)
%K数字形式的小时,24小时制(1,2,…)%l数字形式的小时,12小时制(1,2,…)
%i两位数字表示分钟(00,01,02,…)%S两位数字表示秒(00,01,02,…)
%W一周中的星期名称(Sunday,…)%a一周中的星期缩写(Sun,MOn,…)
%w以数字表示周中的天数(0=Sunday,1=Monday,…)
%j以3位数字表示年中的天数(001,002,…)%U以数字表示年中的第几周,(1,2,…),其中Sunday为周中第一天
%u以数字表示年中的第几周,(1,2,…),其中Monday为周中第一天%
%T24小时制%r12小时制
%pAM或Pm%%表示%

GET_FORMAT 函数中date_type和form_type参数取值如下

日期类型格式化类型返回的格式化字符串
DATEUSA%m.%d.%Y
DATEJIS%Y-%m-%d
DATEISO%Y-%m-%d
DATEEUR%d.%m.%Y
DATEINTERNAL%Y%m%d
TIMEUSA%h:%i:%s %p
TIMEJIS%H:%i:%s
TIMEISO%H:%i:%s
TIMEEUR%H.%i.%s
TIMEINTERNAL%H%i%s
DATETIMEUSA%Y-%m-%d %H.%i.%s
DATETIMEJIS%Y-%m-%d %H:%i:%s
DATETIMEISO%Y-%m-%d %H:%i:%s
DATETIMEEUR%Y-%m-%d %H.%i.%s
DATETIMEINTERNAL%Y%m%d%H%i%s

流程控制函数

IF(VALUE,VALUE1,VALUE2) 如果value的值是TRUE,返回value1,否则返回value2
IFNULL(value1,value2) 如果value1不为NULL,返回value1,否则返回value2
CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 END 相当于JAVA的if...else
CASE expr WHEN 常量值1 THEN1 WHEN 常量值1 THEN1 END 相当于JAVA的switch...case

加密与解密函数

PASSWORD(str) 返回字符串str的加密版本,41位长的字符串。加密结果是不可逆的,常用于用户的密码加密,Mysql8.0中被弃用
MD5(str) 返回字符串str的md5加密后的值,是一种加密方式,当参数为NULL时,返回NULL。
SHA(str) 从原明文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL。比MD5更加安全
ENCODE(value,pass_seed) 返回使用pass_seed作为加密密码加密value,Mysql8.0中被弃用
DECODE(value,pass_seed) 返回使用pass_seed作为加密密码解密value,Mysql8.0中被弃用

Mysql信息函数

VERSION() 返回当前Mysql的版本号
CONNECTION_ID() 返回当前Mysql服务器的连接数
DATABASE() 返回Mysql命令行当前所在的数据库
USER() 返回当前连接Mysql的用户名,返回结果格式为“主机名@用户名”
CHARSET(str) 返回字符串value自变量的字符集
COLLATION(str) 返回字符串value的比较规律

其他函数

FORMAT(value,n) 返回对数字value进行格式化后的结果数据。n表示四舍五入后保留到小数点后n位
CONV(value,from,to)value的值进行不同进制间的转换
INET_ATON(ipvalue) 将以点分隔的IP地址转换位一个数字
INET_NTOA(value) 将数字形式的IP地址转换为以点分隔的IP地址
BENCHMARK(n,expr) 将表达式expr重复执行n次。用于测试Mysql处理expr表达式所耗费的时间
CONVERT(value USING char_code)value所使用的字符编码修改为char_code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 数据类型

文章目录 一、文本类型&#xff08;字母、符号或数字字符的组合&#xff09;二、整数类型三、精确数字类型四、近似数字&#xff08;浮点&#xff09;类型五、日期类型六、货币类型七、位类型八、二进制类型 一、文本类型&#xff08;字母、符号或数字字符的组合&#xff09; 在…

【物联网】物联网设备和应用程序涉及协议的概述

物联网设备和应用程序涉及协议的概述。帮助澄清IoT层技术栈和头对头比较。 物联网涵盖了广泛的行业和用例&#xff0c;从单一受限制的设备扩展到大量跨平台部署嵌入式技术和实时连接的云系统。 将它们捆绑在一起是许多传统和新兴的通信协议&#xff0c;允许设备和服务器以新的…

奥伦德光电耦合器5G通信领域及其相关领域推荐

光电耦合器是以光为媒介传输电信号的一种电-光-电转换器件。由于该器件使用寿命长、工作温度范围宽&#xff0c;所以在过程控制、工业通信、家用电器、医疗设备、通信设备、计算机以及精密仪器等方面有着广泛应用在当前工艺技术持续发展与提升的过程中&#xff0c;其工作速度、…

java常见面试题:如何使用Java进行MyBatis框架开发?

MyBatis是一个优秀的持久层框架&#xff0c;它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息&#xff0c;将接口和Java的POJOs(Plain Old Java Objects,普通的Java…

新能源汽车智慧充电桩方案:如何实现充电停车智慧化管理?

一、方案概述 基于新能源汽车充电桩的监管运营等需求&#xff0c;安徽旭帆科技携手合作伙伴触角云共同打造“智能充电设备&#xff0b;云平台&#xff0b;APP小程序”一体化完整的解决方案&#xff0c;为充电桩车位场所提供精细化管理车位的解决办法&#xff0c;解决燃油车恶意…

用时序数据库 DolphinDB 搭建一套轻量化工业试验平台解决方案

DolphinDB 作为集成了高容量高速度流数据分析系统和强大编程语言的一站式解决方案&#xff0c;旨在为用户提供快速存储、检索、分析和计算庞大的结构化数据服务。本文将提供一个轻量化的工业试验平台数据处理解决方案&#xff0c;快速简单地实现海量数据采集、存储、处理和分析…

Spring MVC学习之——Controller类中方法的返回值

Controller类中方法的返回值 1.返回ModelAndView RequestMapping("/hello")public ModelAndView hello(){//封装了页面和数据ModelAndView view new ModelAndView();//对这个请求的页面添加属性&#xff08;数据&#xff09;view.addObject("hello",&quo…

HTML 列表 iframe

文章目录 列表无序列表有序列表自定义列表 iframe 引入外部页面 列表 列表 是 装载 结构 , 样式 一致的 文字 或 图表 的容器 ; 列表 由于其 整齐 , 整洁 , 有序 的特征 , 类似于表格 , 但是其 组合的自由程度高于表格 , 经常用来进行布局 ; HTML 列表包括如下类型 : 无序列…

【IAP】核心开发流程

最近做了IAP U盘升级模块开发&#xff0c;总结下IAP基本开发流程&#xff0c;不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例&#xff0c;0x08000000到0x0807FFFF为FLASH空间&#xff0c;即上图代码区域…

Unity解决Udp客户端无法接收数据的问题

Unity解决Udp客户端无法接收数据的问题 在我之前做过的项目中&#xff0c;其中不少涉及Udp客户端的项目。在这些项目中&#xff0c;一般只需要实现客户端向服务器端发送数据的功能就可以了&#xff0c;一般都不用接收服务器端发送的数据&#xff0c;但是也有同学使用了我分享的…

vue-router之路由钩子函数应用解析

vue-router是vue开发中不可或缺的一部分&#xff0c;也是vue全家桶生态的重要部分&#xff0c;平时开发vue时会高频率使用&#xff0c;那么它除了在routes上的应用外&#xff0c;还有一些钩子函数具体可以应用在哪些地方呢 路由的钩子函数共有6个 全局的路由钩子函数&#xff…

DOM 的 diff 算法

经典面试题&#xff1a; 1&#xff09;react/vue中的 key 有什么作用&#xff1f;&#xff08;key的内部原理是什么&#xff1f;&#xff09; 2&#xff09;为什么遍历列表时&#xff0c;key 最好不用 index&#xff1f; 1、虚拟dom中key的作用&#xff1a; 1&#xff09; 简…

【二、自动化测试】为什么要做自动化测试?哪种项目适合做自动化?

自动化测试是一种软件测试方法&#xff0c;通过编写和使用自动化脚本和工具&#xff0c;以自动执行测试用例并生成结果。 自动化旨在替代手动测试过程&#xff0c;提高测试效率和准确性。 自动化测试可以覆盖多种测试类型&#xff0c;包括功能测试、性能测试、安全测试等&…

Spring06

一、SpirngMvc的基本概念 Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架&#xff0c;本质上相当于 Servlet。 MVC&#xff08;Model View Controller&#xff09;&#xff0c;一种用于设计创建Web应用程序的开发模式 Model&#xff08;模型&#xff…

软件测试|使用matplotlib绘制气泡图

简介 气泡图&#xff08;Bubble Chart&#xff09;是一种数据可视化工具&#xff0c;通常用于展示三维数据的分布情况&#xff0c;其中数据点以气泡的形式显示在二维平面上&#xff0c;每个气泡的位置表示两个变量的值&#xff0c;气泡的大小表示第三个变量的值。在Python中&a…

广告效果评估的意义 | 广告效果评估的重要性有哪些?

本文由群狼调研&#xff08;长沙品牌推广测试&#xff09;出品&#xff0c;欢迎转载&#xff0c;请注明出处。广告效果评估的重要性体现在多个方面&#xff0c;以下是一些关键点&#xff1a; 1.投资回报评估&#xff1a; 广告活动往往需要巨大的投资&#xff0c;通过评估广告效…

编程语言的发展未来?

编程语言的未来&#xff1f; 随着科技的飞速发展&#xff0c;编程语言在计算机领域中扮演着至关重要的角色。它们是软件开发的核心&#xff0c;为程序员提供了与机器沟通的桥梁。那么&#xff0c;在技术不断进步的未来&#xff0c;编程语言的走向又将如何呢&#xff1f; 方向…

austin-admin 消息推送平台前端项目依赖低代码平台Amis 怎么使用

austin-admin 消息推送平台前端项目&#x1f525;依赖低代码平台Amis 怎么使用 收到一个通知&#xff0c;要将部署一个开源的消息系统 :austin的前端开源&#xff1a;https://gitee.com/zhongfucheng/austin-admin 本地运行 1、使用npm或者yarn这些咯 yarn yarn start2、使用…

使用muduo库编写网络server端

muduo库源码编译安装和环境搭建 C muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装-CSDN博客 #include<iostream> #include<muduo/net/TcpServer.h> #include<muduo/net/EventLoop.h> using namespace std; using namespace muduo; using name…

Linux 系统之部署 h5ai 目录列表程序

一、h5ai 介绍 1.1&#xff09;h5ai 简介 h5ai 是用于 HTTP Web 服务器的现代文件索引器&#xff0c;专注于您的文件。目录以吸引人的方式显示&#xff0c;浏览它们通过不同的视图、面包屑和树概述得到增强。最初 h5ai 是 HTML5 Apache Index 的首字母缩写&#xff0c;但现在它…