【MySQL】函数

1. 函数简介

  • SQL 语言中,包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的。
  • MySQL提供的内置函数实现的功能角度可以分为 数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。
  • 内置函数再分为两类单行函数、聚合函数(或分组函数)

2.单行函数

  • 操作数据对象接受参数返回一个结果
  • 只对一行进行变换
  • 每行返回一个结果
  • 可以嵌套使用

2.1 数值函数

2.1.1 基本函数

  • ABS(x):返回x的绝对值                  
  • SIGN(x):返回X的符号。正数返回1,负数返回-1,0返回0          
  • PI():返回圆周率的值                                 
  • CEIL(x),CEILING(x):返回大于或等于某个值的最小整数                
  • FLOOR(x):返回小于或等于某个值的最大整数            
  • LEAST(e1,e2,e3…):返回列表中的最小值                            
  • GREATEST(e1,e2,e3…) :返回列表中的最大值                             
  • MOD(x,y):返回X除以Y后的余数                                   
  • RAND():返回0~1的随机值                                        
  • RAND(x) :返回0~1的随机值,其中x的值用作种子值,相同的X值会产生相同的随机数
  • ROUND(x):返回一个对x的值进行四舍五入后,最接近于X的整数      
  • ROUND(x,y):返回一个对x的值进行四舍五入后最接近X的值,并保留到小数点后面Y位
  • TRUNCATE(x,y):返回数字x截断为y位小数的结果                     
  • SQRT(x):返回x的平方根。当X的值为负数时,返回NULL                

2.1.2 角度与弧度互换函数

  • RADIANS(x):将角度转化为弧度,其中,参数x为角度值
  • DEGREES(x):将弧度转化为角度,其中,参数x为弧度值

2.1.3 三角函数

  • 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的值                  
  • ATAN2(m,n):返回两个参数的反正切值                               
  • COT(x):返回x的余切值,其中,X为弧度值                     

 

2.1.4 指数与对数

  • POW(x,y),POWER(X,Y):返回x的y次方                                    
  • EXP(X):返回e的X次方,其中e是一个常数,2.718281828459045    
  • LN(X),LOG(X):返回以e为底的X的对数,当X <= 0 时,返回的结果为NULL 
  • LOG10(X):返回以10为底的X的对数,当X <= 0 时,返回的结果为NULL
  • LOG2(X):返回以2为底的X的对数,当X <= 0 时,返回NULL      

2.1.5 进制转换

  • BIN(x):返回x的二进制编码  
  • HEX(x):返回x的十六进制编码  
  • OCT(x):返回x的八进制编码    
  • CONV(x,f1,f2):返回f1进制数变成f2进制数

2.2 字符串函数

  • ASCII(S):返回字符串S中的第一个字符的ASCII码值       
  • CHAR_LENGTH(s):返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同      
  • LENGTH(s):返回字符串s的字节数,和字符集有关                      
  • CONCAT(s1,s2,......,sn):连接s1,s2,......,sn为一个字符串                      
  • CONCAT_WS(x,s1,s2,......,sn): 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上x   
  • INSERT(str, idx, len,replacestr):将字符串str从第idx位置开始,len个字符长的子串替换为字符replacestr
  • REPLACE(str, a, b):用字符串b替换字符串str中所有出现的字符串a             
  • UPPER(s) 或 UCASE(s):将字符串s的所有字母转成大写字母                      
  • LOWER(s) 或LCASE(s):将字符串s的所有字母转成小写字母                
  • 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(s):去掉字符串s左侧的空格                                
  • RTRIM(s):去掉字符串s右侧的空格                             
  • TRIM(s):去掉字符串s开始与结尾的空格                  
  • TRIM(s1 FROM s):去掉字符串s开始与结尾的s1                         
  • TRIM(LEADING s1 FROM s):去掉字符串s开始处的s1                               
  • TRIM(TRAILING s1 FROM s): 去掉字符串s结尾处的s1                                
  • REPEAT(str, n) :返回str重复n次的结果                                 
  • SPACE(n):返回n个空格                                         
  • STRCMP(s1,s2):比较字符串s1,s2的ASCII码值的大小                   
  • SUBSTR(s,index,len):返回从字符串s的index位置其len个字符,作用与SUBSTRING(s,n,len)、
  • MID(s,n,len)相同
  • LOCATE(substr,str):返回字符串substr在字符串str中首次出现的位置,作用于POSITION(substr IN str)、INSTR(str,substr)相同。未找到,返回0
  • ELT(m,s1,s2,…,sn):返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,如果m=n,则返回sn
  • FIELD(s,s1,s2,…,sn):返回字符串s在字符串列表中第一次出现的位置                   
  • FIND_IN_SET(s1,s2):返回字符串s1在字符串s2中出现的位置。其中,字符串s2是一个以逗号分隔的字符串
  • REVERSE(s):返回s反转后的字符串                              
  • NULLIF(value1,value2):比较两个字符串,如果value1与value2相等,则返回NULL,否则返回value1

2.3日期和时间函数

2.3.1 获取日期、时间

  • CURDATE() ,CURRENT_DATE():返回当前日期,只包含年、月、日
  • CURTIME() , CURRENT_TIME() :返回当前时间,只包含时、分、秒
  • NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() /LOCALTIMESTAMP():返回当前系统日期和时间        
  • UTC_DATE():返回UTC(世界标准时间)日期   
  • UTC_TIME():返回UTC(世界标准时间)时间   

 

2.3.2 日期与时间戳的转换

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

 

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

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

2.3.4 计算日期和时间的函数

  • 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):返回从0000年1月1日起,N天以后的日期                         
  • TO_DAYS(date):返回日期date距离0000年1月1日的天数                          
  • LAST_DAY(date):返回date所在月份的最后一天的日期                            
  • MAKEDATE(year,n):针对给定年份与所在年份中的天数返回一个日期                  
  • MAKETIME(hour,minute,second):将给定的小时、分钟和秒组合成时间并返回                      
  • PERIOD_ADD(time,n):将给定的小时、分钟和秒组合成时间并返回                      

 

2.3.5 日期的格式化与解析

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

 

3.聚合函数

  • 聚合函数作用于一组数据,并对一组数据返回一个值。
  • 不能嵌套使用

3.1 常用于数据类型函数

  • AVG 和 SUM 函数:求平均求和
  • MIN和MAX函数:求最大最小
  • COUNT函数:返回表中记录总数

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

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

相关文章

学习OpenCV——CV_8UC1、CV_16UC1、CV_32FC1等对应的整数值及计算方法(一)

学习OpenCV——CV_8UC1、CV_16UC1、CV_32FC1等对应的整数值及计算方法&#xff08;一&#xff09; 1.代码段2.计算方法举例3.直接给出其余对应结果 1.代码段 以下取自OpenCV文档 #define CV_BIG_INT(n) #define CV_BIG_UINT(n) #define CV_CN_MAX 512 #define CV…

等保合规:保护企业网络安全的必要性与优势

前言 无论是多部网络安全法律法规的出台&#xff0c;还是最近的“滴滴被安全审查”事件&#xff0c;我们听得最多的一个词&#xff0c;就是“等保。” 只要你接触安全类工作&#xff0c;听得最多的一个词&#xff0c;一定是“等保。” 那么&#xff0c;到底什么是“等保”呢…

Redis网络相关的结构体 和 reactor模式

目录 1. epoll的封装 结构体aeApiStae 创建epoll fd的封装 epoll_ctl的封装 epoll_wait的封装 2. 结构体aeFileEvent、aeFiredEvent、aeTimeEvent 结构体aeFileEvent 结构体aeFiredEvent 结构体aeTimeEvent 3. struct aeEventLoop aeEventLoop相关的函数 1. 创建eve…

Rust HTTP 客户端:易于使用、功能强大 | 开源日报 No.228

seanmonstar/reqwest Stars: 8.9k License: Apache-2.0 reqwest 是一个易于使用且功能强大的 Rust HTTP 客户端。 异步和阻塞客户端支持普通数据、JSON、urlencoded 和 multipart 数据格式可定制的重定向策略支持 HTTP 代理和系统原生 TLS 或 rustls 的 HTTPSCookie 存储功能…

JVM学习笔记(五)内存模型

目录 1、原子性 1.1 问题分析 1.2 解决方法 2、可见性 2.1 退不出的循环 2.2 解决办法 3、有序性 3.1 诡异的结果 3.2 解决办法 3.3 有序性理解 3.4 happens-before 4、CAS与原子类 4.1 CAS 4.2 乐观锁与悲观锁 4.3 原子操作类 5、synchronized 优化 5.1 轻量…

17(第十六章,数据管理组织与角色期望)

目录 概述 基本概念 首席数据官 个人角色 执行官角色 业务角色 IT角色 混合角色 组织架构模式 概述 本章书上的重点内容其实不多&#xff0c;了解的地方例如数据管理组织的结构包括分散、网络、混合、联邦、集中等运营模式。 之前也提过的RACI&#xff08;谁负责&am…

【域适应十九】CDTRANS: CROSS-DOMAIN TRANSFORMER FOR UN-SUPERVISED DOMAIN ADAPTATION

motivation 无监督域自适应旨在将学习到的知识从一个有标记的源领域转移到另一个无标记的目标领域。大多数现有的UDA方法都是使用基于卷积神经网络(cnn)的框架,从领域层面或类别层面学习域不变特征表示。基于类别级别的UDA的一个基本问题是为目标域中的样本产生伪标签,这些伪…

AWTK MODBUS Client channel 模型

名称&#xff1a;modbus_client_channel 功能&#xff1a;通过 modbus 协议访问远程 slave 设备上的数据&#xff0c;需要配合 modbus_client模型一起使用。用于将 modbus client 中的 channel 包装成view_model或者view_model_array 一般来说不需要&#xff0c;直接使用modbus…

MySQL怎么提升主从复制性能

在MySQL主从复制结构中&#xff0c;随着连接至数据源的副本数增加&#xff0c;尽管负载相对较小&#xff0c;但仍会增加负载&#xff0c;因为每个副本都要和数据源建立一个客户端连接。此外&#xff0c;由于每个副本都必须接收到源二进制日志的完整副本&#xff0c;源上的网络负…

CentOS 系统的优缺点

CentOS &#xff08;社区企业操作系统的缩写&#xff09;是一个基于红帽企业 Linux (RHEL)的免费开源发行版&#xff0c; 旨在为服务器和工作站提供稳定、可靠和安全的平台。 不应将其与CentOS Stream 混淆&#xff0c;后者是即将发布的 RHEL 版本的上游开发平台。 CentOS Li…

C++初阶之入门

零、什么是C C是基于C语言而产生的&#xff0c;它既可以进行C语言的过程化程序设计&#xff0c;又可以进行以抽象数据类型为特点的基于对象的程序设计&#xff0c;还可以进行面向对象的程序设计。 C缺点之一&#xff0c;是相对许多语言复杂&#xff0c;而且难学难精。许多人说学…

一般神经网络的微分与网络参数的初始化

(文章的主要内容来自电科的顾亦奇老师的 Mathematical Foundation of Deep Learning, 有部分个人理解) 一般深度神经网络的微分 上周讨论的前向和反向传播算法可以推广到任意深度神经网络的微分。 对于一般的网络来说&#xff0c;可能无法逐层分割&#xff0c;但仍然可以用流…

抖音小店运营过程中,每天必须要做的7件事情!少一件都不行!

大家好&#xff0c;我是电商小V 最近很多新手小伙伴刚做店&#xff0c;操作抖音小店每天需要做的事情都是哪些呢&#xff1f;感觉自己一天很忙&#xff0c;但是也没有忙出来结果&#xff0c;思绪很乱&#xff0c;关于这个问题咱们今天就来详细的说一下&#xff0c;给你们梳理总…

02 贪吃蛇

前言 呵呵 这是不知道 在哪里看到的 别人做的一个贪吃蛇 因此 也把我 之前的 贪吃蛇 移植上来了 当然 这个不过是为了 简单的入门了解, 呵呵 然后 c版本的贪吃蛇 需要先移植成 c 版本, 然后 再根据 单片机相关 设计调整 比如 led 点阵的输出, 比如 c99 语法的一些不兼容…

12 c++版本的坦克大战

前言 呵呵 这大概是 大学里面的 c 贪吃蛇了吧 有一些 面向对象的理解, 但是不多 这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用 坦克大战 #include<iostream> #include<windows.h> #include<conio.h> #include<ctime> #include…

Python编程的终极十大工具

Python一直以来都是程序员们的首选编程语言之一&#xff0c;其灵活性和功能强大的库使其成为解决各种问题的理想选择。在本文中&#xff0c;我们将介绍Python编程的终极十大工具&#xff0c;这些工具可以帮助您在各种领域取得成功&#xff0c;无论您是初学者还是经验丰富的开发…

面试(四)

目录 1. 组长安排了一个不可能完成的任务&#xff0c;怎么拒绝&#xff1f; 2.讲一下Freertos的机器人 3. Freertos的中断 4. Freertos功能 5. 树莓派怎么识别二维码&#xff1f; 6. Linux脚本作用&#xff1f; 7. Modbus&#xff1f; 8. freertos的动态创建和静态创建…

【C++】C++的内存管理

目录 内存分布 动态内存管理 C语言的动态内存管理 C的动态内存管理 对内置类型操作 对自定义类型操作 new[]和delete[] 开空间的细节 探讨匹配问题 定位new表达式 内存分布 栈&#xff1a;存放非静态局部变量&#xff0c;函数参数&#xff0c;返回值等。栈是向下增长…

【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(五)、小结

本次实验&#xff08;一&#xff09;见博客&#xff1a;【数字电路与系统】【北京航空航天大学】实验&#xff1a;时序逻辑设计——三色灯开关&#xff08;一&#xff09;、实验指导书 本次实验&#xff08;二&#xff09;见博客&#xff1a;【数字电路与系统】【北京航空航天…

大语言模型——涌现能力

在现有文献中,大语言模型的涌现能力被非形式化定义为在小型模型中不存在但在大模型中出现的能力”,具体是指当模型扩展到一定规模时,模型的特定任务性能突然出现显著跃升的趋势,远超过随机水平。类比而言,这种性能涌现模式与物理学中的相变现象有一定程度的相似,但是仍然…