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.xdnf.cn/news/34283.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

动态风景构图技巧和方法

拍摄时要有耐心 当遇到绝佳的拍摄场景时&#xff0c;要放慢脚步&#xff0c;慢慢来&#xff0c;给自己时间去感受它。可能会有一个显而易见的构图方式&#xff0c;你可以先按这个方式拍摄&#xff0c;但随后也要花点时间找找其他可能的构图。 光线会直接影响构图&#xff0c;…

RabbitMq死信队列延迟交换机

架构图 配置 package com.example.demo.config;import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class DeadLetterConfig {public String …

Sringboot项目实现文件上传至linux指定目录

本篇文章讲述一个springboot项目如何实现一个文件上传接口&#xff0c;涉及vsftpd服务、SSH协议以及对linux系统的一些配置。 一、springboot工程部分 本篇文章略过springboot创建过程&#xff0c;具体见之前发过的文章 1.1在pom.xml中添加SFTP&#xff08;SSH 文件传输协议…

电气自动化 基于PLC工业机器人视觉定位及自动码垛系统的设计

摘要 随着我国经济的不断发展&#xff0c;工业机器人将会得到更多的应用&#xff0c;从而达到整个行业的自动化和高速度。由于生产效率的不断提升&#xff0c;对成品进行检验、加工、分级等工作尤为关键。工业机器人是一种高科技的机械设备&#xff0c;它被广泛地运用于焊接、…

云数据库 OceanBase

OceanBase 是阿里巴巴集团自主研发的一款分布式关系型数据库。它采用了分布式架构&#xff0c;能够在大规模、复杂环境下处理海量数据。OceanBase 旨在解决传统数据库在高并发、大规模数据和高可用性场景下的瓶颈&#xff0c;尤其适用于金融、电商、物流等需要高性能、高可靠的…

数据库性能诊断工具DBdoctor 产品介绍

基本信息 DBdoctor是一款专注于数据库性能的生态软件&#xff0c;致力于解决一切数据库性能问题&#xff0c;实现DB AGI。行业首次将eBPF技术聚焦在数据库领域&#xff0c;创新性实现性能可观测。 功能介绍 1.核心功能 SQL审核&#xff0c;性能评估&#xff1a; 独家SQL性能…

AIGC与医学统计学的完美融合:打造智能医疗新时代

文章目录 一、理解统计学基础概念二、掌握描述性统计方法三、学习假设检验方法四、掌握回归分析方法五、学习生存分析方法六、利用现代技术和工具七、注重实践和应用《医学统计学从入门到精通》亮点内容简介作者简介目录获取方式 在AIGC&#xff08;人工智能生成内容&#xff0…

【git reset】本地下载特定历史提交哈希值的github文件【未联网服务器】进行git reset操作

本地电脑下载git文件&#xff0c;并进行git reset操作 问题描述&#xff1a;解决方法&#xff1a;方法1&#xff1a;直接下载特定版本的github压缩包。方法二&#xff1a; 在本地windows电脑上安装git工具进行git reset版本回退&#xff0c;之后上传相应版本的压缩包到服务器上…

emacs 折腾日记(一)——序言

初次知道emacs这个东西是在《程序员的呐喊》这本书。书中的作者提倡学习编译原理&#xff0c;推崇emacs。现在距离我知道emacs已经过去了快8年&#xff0c;期间不断的重复学习——放弃——学习的路子。与过去学习vim类似&#xff0c;vim我也经历过放弃到学习&#xff0c;最后有…

Django基础cookie和session

1.会话跟踪 ​ 什么是会话&#xff01;可以把会话理解为客户端与服务器之间的一次会晤&#xff0c;在一次会晤中可能会包含多次请求和响应。例如给10086打个电话&#xff0c;你就是客户端&#xff0c;而10086服务人员就是服务器。从双方接通电话那一刻起&#xff0c;会话就开始…

EMC测试——RE、CE、ESD

①辐射发射测试(RE)&#xff1a;评估电子、电气产品或系统在工作状态下产生的电磁辐射干扰程度&#xff0c;确保其不会干扰其他电子设备&#xff0c;同时可以确保产品的电磁辐射水平在安全范围内&#xff0c;从而保护用户免受电磁辐射的危害。消费类常见测试标准&#xff1a;EN…

iOS平台接入Facebook登录

1、FB开发者后台注册账户 2、完善App信息 3、git clone库文件代码接入 4、印尼手机卡开热点调试 备注&#xff1a; 可能遇到的问题&#xff1a; 1、Cocos2dx新建的项目要更改xcode的git设置&#xff0c;不然卡在clone&#xff0c;无法在线获取FBSDK 2、动态库链接 需要在…

解决 PyTorch 中的 AttributeError: ‘NoneType‘ object has no attribute ‘reshape‘ 错误

这里写目录标题 一、错误分析二、错误原因三、解决方案1. 检查损失函数2. 检查前向传播3. 检查 backward 函数4. 检查梯度传递 四、前向传播与反向传播1. 前向传播2. 反向传播3. 自定义 backward 函数示例反向传播过程&#xff1a;常见的错误&#xff1a;1&#xff1a;损失函数…

PT8M2102 触控型 8Bit MCU

1 产品概述 ● PT8M2102 是一款基于 RISC 内核的8位 MTP 单片机&#xff0c;内部集成了电容式触摸感应模块、TIMER&#xff0c;PWM、LVR、LVD、WDT等外设&#xff0c;其主要用作触摸按键开关&#xff0c;广泛适用于触控调光、电子玩具、消费电子、家用电器等领域&#xff0c;具…

工业—使用Flink处理Kafka中的数据_EnvironmentData2

使用Flink 消费 Kafka 中 EnvironmentData 主题的数据 , 监控各环境检测设备数据,当温度 ( Temperature 字段)持续 3 分钟高于

如何通过 Windows 自带的启动管理功能优化电脑启动程序

在日常使用电脑的过程中&#xff0c;您可能注意到开机后某些程序会自动运行。这些程序被称为“自启动”或“启动项”&#xff0c;它们可以在系统启动时自动加载并开始运行&#xff0c;有时甚至在后台默默工作。虽然一些启动项可能是必要的&#xff08;如杀毒软件&#xff09;&a…

javaScript13DOM获取

3.1、DOM初相识 3.1.1、DOM简介 文档对象模型&#xff08;Document Object Model &#xff0c;简称DOM&#xff09;&#xff0c;它就是一些系列编程接口&#xff0c;有了这些接口&#xff0c;就可以改变页面内容&#xff0c;结构和样式 DOM树&#xff1a; 文档&#xff1a;一…

【深度学习基础之Scikit-learn库3】Scikit-learn 库提供了丰富的功能,包括数据预处理、特征选择、模型训练与评估....

【深度学习基础之Scikit-learn库3】Scikit-learn 库提供了丰富的功能&#xff0c;包括数据预处理、特征选择、模型训练与评估… 【深度学习基础之Scikit-learn库3】Scikit-learn 库提供了丰富的功能&#xff0c;包括数据预处理、特征选择、模型训练与评估… 文章目录 【深度学…

【Calibre-Web】Calibre-Web服务器安装详细步骤(个人搭建自用的电子书网站,docker-compose安装)

文章目录 一、Calibre-Web和Calibre的区别是什么&#xff1f;使用场景分别是什么&#xff1f;二、服务器安装docker和docker-compose三、服务器安装Calibre-Web步骤1、安装完成后的目录结构2、安装步骤3、初始配置4、启动上传 四、安装Calibre五、docker-compose常用命令 最近想…

【Canvas与图标】乡土风金属铝边立方红黄底黑字图像处理图标

【成图】 120*120图标&#xff1a; 大小图&#xff1a; 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>金属铝边立方红黄底黑…