当前位置: 首页 > news >正文

MySQL 入门大全:常用函数

🧑 博主简介:CSDN博客专家历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程高并发设计Springboot和微服务,熟悉LinuxESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。
技术合作请加本人wx(注明来自csdn):foreast_sea

在这里插入图片描述


在这里插入图片描述

MySQL 入门大全:常用函数

MySQL 函数也是我们日常开发过程中经常使用的,选用合适的函数能够提高我们的开发效率,下面我们就来一起认识一下这些函数。

字符串函数

字符串函数是最常用的一种函数了,MySQL 也是支持很多种字符串函数,下面是 MySQL 支持的字符串函数表

函数功能
LOWER将字符串所有字符变为小写
UPPER将字符串所有字符变为大写
CONCAT进行字符串拼接
LEFT返回字符串最左边的字符
RIGHT返回字符串最右边的字符
INSERT字符串替换
LTRIM去掉字符串左边的空格
RTRIM去掉字符串右边的空格
REPEAT返回重复的结果
TRIM去掉字符串行尾和行头的空格
SUBSTRING返回指定的字符串
LPAD用字符串对最左边进行填充
RPAD用字符串对最右边进行填充
STRCMP比较字符串 s1 和 s2
REPLACE进行字符串替换

下面通过具体的示例演示一下每个函数的用法

  • LOWER(str) 和 UPPER(str) 函数:用于转换大小写

在这里插入图片描述

  • CONCAT(s1,s2 … sn) :把传入的参数拼接成一个字符串

在这里插入图片描述

上面把 c xu an 拼接成为了一个字符串,另外需要注意一点,任何和 NULL 进行字符串拼接的结果都是 NULL。

在这里插入图片描述

  • LEFT(str,x) 和 RIGHT(str,x) 函数:分别返回字符串最左边的 x 个字符和最右边的 x 个字符。如果第二个参数是 NULL,那么将不会返回任何字符串

在这里插入图片描述

  • INSERT(str,x,y,instr) : 将字符串 str 从指定 x 的位置开始, 取 y 个长度的字串替换为 instr。

在这里插入图片描述

  • LTRIM(str) 和 RTRIM(str) 分别表示去掉字符串 str 左侧和右侧的空格

在这里插入图片描述

  • REPEAT(str,x) 函数:返回 str 重复 x 次的结果

在这里插入图片描述

  • TRIM(str) 函数:用于去掉目标字符串的空格

在这里插入图片描述

  • SUBSTRING(str,x,y) 函数:返回从字符串 str 中第 x 位置起 y 个字符长度的字符串

在这里插入图片描述

  • LPAD(str,n,pad) 和 RPAD(str,n,pad) 函数:用字符串 pad 对 str 左边和右边进行填充,直到长度为 n 个字符长度

在这里插入图片描述

  • STRCMP(s1,s2) 用于比较字符串 s1 和 s2 的 ASCII 值大小。如果 s1 < s2,则返回 -1;如果 s1 = s2 ,返回 0 ;如果 s1 > s2 ,返回 1。

在这里插入图片描述

  • REPLACE(str,a,b) : 用字符串 b 替换字符串 str 种所有出现的字符串 a

在这里插入图片描述

数值函数

MySQL 支持数值函数,这些函数能够处理很多数值运算。下面我们一起来学习一下 MySQL 中的数值函数,下面是所有的数值函数

函数功能
ABS返回绝对值
CEIL返回大于某个值的最大整数值
MOD返回模
ROUND四舍五入
FLOOR返回小于某个值的最大整数值
TRUNCATE返回数字截断小数的结果
RAND返回 0 - 1 的随机值

下面我们还是以实践为主来聊一聊这些用法

  • ABS(x) 函数:返回 x 的绝对值

在这里插入图片描述

  • CEIL(x) 函数: 返回大于 x 的整数

在这里插入图片描述

  • MOD(x,y),对 x 和 y 进行取模操作

在这里插入图片描述

  • ROUND(x,y) 返回 x 四舍五入后保留 y 位小数的值;如果是整数,那么 y 位就是 0 ;如果不指定 y ,那么 y 默认也是 0 。

在这里插入图片描述

  • FLOOR(x) : 返回小于 x 的最大整数,用法与 CEIL 相反

在这里插入图片描述

  • TRUNCATE(x,y): 返回数字 x 截断为 y 位小数的结果, TRUNCATE 知识截断,并不是四舍五入。

在这里插入图片描述

  • RAND() :返回 0 到 1 的随机值

在这里插入图片描述

日期和时间函数

日期和时间函数也是 MySQL 中非常重要的一部分,下面我们就来一起认识一下这些函数

函数功能
NOW返回当前的日期和时间
WEEK返回一年中的第几周
YEAR返回日期的年份
HOUR返回小时值
MINUTE返回分钟值
MONTHNAME返回月份名
CURDATE返回当前日期
CURTIME返回当前时间
UNIX_TIMESTAMP返回日期 UNIX 时间戳
DATE_FORMAT返回按照字符串格式化的日期
FROM_UNIXTIME返回 UNIX 时间戳的日期值
DATE_ADD返回日期时间 + 上一个时间间隔
DATEDIFF返回起始时间和结束时间之间的天数

下面结合示例来讲解一下每个函数的使用

  • NOW(): 返回当前的日期和时间

在这里插入图片描述

  • WEEK(DATE) 和 YEAR(DATE) :前者返回的是一年中的第几周,后者返回的是给定日期的哪一年

在这里插入图片描述

  • HOUR(time) 和 MINUTE(time) : 返回给定时间的小时,后者返回给定时间的分钟

在这里插入图片描述

  • MONTHNAME(date) 函数:返回 date 的英文月份

在这里插入图片描述

  • CURDATE() 函数:返回当前日期,只包含年月日

在这里插入图片描述

  • CURTIME() 函数:返回当前时间,只包含时分秒

在这里插入图片描述

  • UNIX_TIMESTAMP(date) : 返回 UNIX 的时间戳

在这里插入图片描述

  • FROM_UNIXTIME(date) : 返回 UNIXTIME 时间戳的日期值,和 UNIX_TIMESTAMP 相反

在这里插入图片描述

  • DATE_FORMAT(date,fmt) 函数:按照字符串 fmt 对 date 进行格式化,格式化后按照指定日期格式显示

我们演示一下将当前日期显示为年月日的这种形式,使用的日期格式是 %M %D %Y

在这里插入图片描述

  • DATE_ADD(date, interval, expr type) 函数:返回与所给日期 date 相差 interval 时间段的日期

interval 表示间隔类型的关键字,expr 是表达式,这个表达式对应后面的类型,type 是间隔类型,MySQL 提供了 13 种时间间隔类型

表达式类型描述格式
YEARYY
MONTHMM
DAYDD
HOUR小时hh
MINUTEmm
SECONDss
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:ss
MINUTE_SECOND分钟和秒mm:ss
  • DATE_DIFF(date1, date2) 用来计算两个日期之间相差的天数

在这里插入图片描述

查看离 2021 - 01 - 01 还有多少天

流程函数

流程函数也是很常用的一类函数,用户可以使用这类函数在 SQL 中实现条件选择。这样做能够提高查询效率。下表列出了这些流程函数

函数功能
IF(value,t f)如果 value 是真,返回 t;否则返回 f
IFNULL(value1,value2)如果 value1 不为 NULL,返回 value1,否则返回 value2。
CASE WHEN[value1] THEN[result1] …ELSE[default] END如果 value1 是真,返回 result1,否则返回 default
CASE[expr] WHEN[value1] THEN [result1]… ELSE[default] END如果 expr 等于 value1, 返回 result1, 否则返回 default

其他函数

除了我们介绍过的字符串函数、日期和时间函数、流程函数,还有一些函数并不属于上面三类函数,它们是

函数功能
VERSION返回当前数据库的版本
DATABASE返回当前数据库名
USER返回当前登陆用户名
PASSWORD返回字符串的加密版本
MD5返回 MD5 值
INET_ATON(IP)返回 IP 地址的数字表示
INET_NTOA(num)返回数字代表的 IP 地址

下面来看一下具体的使用

  • VERSION: 返回当前数据库版本

在这里插入图片描述

  • DATABASE: 返回当前的数据库名

在这里插入图片描述

  • USER : 返回当前登录用户名

在这里插入图片描述

  • PASSWORD(str) : 返回字符串的加密版本,例如

在这里插入图片描述

  • MD5(str) 函数:返回字符串 str 的 MD5 值

在这里插入图片描述

  • INET_ATON(IP): 返回 IP 的网络字节序列

在这里插入图片描述

  • INET_NTOA(num)函数:返回网络字节序列代表的 IP 地址,与 INET_ATON 相对

在这里插入图片描述


http://www.mrgr.cn/news/81297.html

相关文章:

  • 第22天:信息收集-Web应用各语言框架安全组件联动系统数据特征人工分析识别项目
  • 软件测试丨性能测试工具-JMeter
  • 本地部署webrtc应用怎么把http协议改成https协议?
  • 国标GB28181-2022平台EasyGBS安防设备中常见的网络参数详解
  • MFC用List Control 和Picture控件实现界面切换效果
  • Socket 收发内部拆包封包函数
  • C/C++基础知识复习(45)
  • 修炼内功之函数栈帧的创建与销毁
  • 活着就好20241224
  • 守护爱犬健康:狗狗必打三针之解析
  • 【蓝桥杯——物联网设计与开发】基础模块8 - RTC
  • Linux字符设备驱动开发的三种方式(分析+对比+示例)
  • C++学习记录--b站黑马程序员视频——55 类和对象-多态-案例1-计算器类
  • Python(第一天)
  • 结合实例从HCI层分析经典蓝牙连接和鉴权过程
  • Vue3中路由跳转之后删除携带的query参数
  • 蓝牙协议——音乐启停控制
  • 深入理解批量归一化(BN):原理、缺陷与跨小批量归一化(CBN)
  • 类设计者的核查表
  • 耗时半月,终于把牛客网上的软件测试面试八股文整理成了PDF合集(测试基础+linux+MySQL+接口测试+自动化测试+测试框架+jmeter测试+测试开发)
  • shiro权限校验demo
  • 高并发处理 --- Caffeine内存缓存库
  • 图解JVM整体结构、执行流程以及2种架构模型,你学会了吗?
  • 绕组识别标签规范
  • 【基于rust-wasm的前端页面转pdf组件和示例】
  • 蓝牙协议——音量控制