[MySQL]MySQL内置函数

news2024/12/23 15:49:02

[MySQL]MySQL内置函数

文章目录

  • [MySQL]MySQL内置函数
    • 1. 日期函数
    • 2. 字符串函数
    • 3. 数学函数
    • 4. 其他函数

1. 日期函数

常用日期函数如下:

函数名称描述
current_date()获取当前日期
current_time()获取当前时间
current_timestamp()获取当前时间戳
now()获取当前日期时间
date(datetime)获取datetime参数的日期部分
date_add(date, interval d_value_type)在date中添加日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second
date_sub(date, interval d_value_type)在date中减去日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second
datediff(date1, date2)获取两个日期的差,单位是天

时间函数获取数据时是相同的,只是显示的部分不同。

current_date函数:

获取当前的日期(年,月,日)。

image-20230712172917517

current_time函数:

获取当前时间(时,分,秒)。

current_timestamp函数:

获取当前的时间戳。

image-20230712172935143

now函数:

获取当前日期时间。

image-20230712172940838

date函数:

获取datetime参数的日期部分。

image-20230712173219067

date_add函数:

在date中添加日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second。

image-20230712173957578

date_sub函数:

在date中减去日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second

image-20230712174232523

datediff函数:

获取两个日期的差,单位是天

image-20230712175018191

image-20230712175045681

时间函数综合案例

创建一个留言表,表中包含自增长的主键id、昵称、评论内容和评论时间。如下:

image-20230712181835590

向留言表中插入一条记录,其中用now函数来作为参数传入:

image-20230712182103116

可以借助date函数使得查询结果中只显示年、月、日:

image-20230712182212782

再在不同时间向表中插入一些记录:

image-20230712182552549

查询最近十分钟插入的记录:

image-20230712183447474

2. 字符串函数

常用字符串函数如下:

函数名称描述
charset(str)获取字符串使用的字符集
concat(str1, str2 [, …])获取连接后的字符串
instr(str, substr)获取substr在str中首次出现的位置,没有出现返回0
ucase(str)获取转换成大写后的字符串
lcase(str)获取转换成小写后的字符串
left(str, length)从字符串的左边开始,向后截取length个字符
length(str)获取字符串占用的字节数
replace(str, search_str, replace_str)将字符串中的search_str替换成replace_str
strcmp(str1, str2)逐字符比较两个字符串的大小
substring(str, position [, length])从字符串的position开始,向后截取length个字符
ltrim(str)、rtrim(str)、trim(str)去除字符串的前空格、后空格、前后空格

charset函数:

获取字符串使用的字符集。

image-20230712202442769

image-20230712202508960

concat函数:

获取连接后的字符串。

image-20230712201956568

image-20230712202038035

instr函数:

获取第二个参数在第一个参数中首次出现的位置,没有出现返回0。

image-20230712202329175

ucase函数:

获取转换成大写后的字符串。

image-20230712202620955

lcase函数:

获取转换成小写后的字符串。

image-20230712202626538

left函数:

从字符串的左边开始,向后截取length个字符。

image-20230712203110886

length函数:

获取字符串占用的字节数。

image-20230712203430302

strcmp函数:

逐字符比较两个字符串的大小。

类似于C语言中的strcmp函数:

image-20230712203803029

ltrim、rtrim、trim函数:

分别是去除字符串的前空格、后空格、前后空格。

image-20230712211934909

示例1 : 要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”。

image-20230712205633771

示例2: 求学生表中学生姓名占用的字节数。

image-20230712205827993

示例3: 将EMP表中所有名字中有S的替换成’上海’。

image-20230712210610904

示例4: 截取EMP表中ename字段的第二个到第三个字符。

image-20230712210913246

示例5: 以首字母小写的方式显示所有员工的姓名。

image-20230712211304597

3. 数学函数

常用数学函数如下:

函数名称描述
abs(number)绝对值函数
bin(decimal_number)十进制转换成二进制
hex(decimal_number)十进制转换成十六进制
conv(number, from_base, to_base)from_base进制转换成to_base进制
ceiling(number)向上取整
floor(number)向下取整
format(number, n)格式化,保留n位小数(四舍五入)
rand()生成随机浮点数,范围 [0.0, 1.0)
mod(number, denominator)求余

abs函数:

绝对值函数。

image-20230712212520592

bin函数:

十进制转换成二进制。

image-20230712212643669

hex函数:

十进制转换成十六进制。

image-20230712212707563

conv函数:

将第一个参数传入的数字从第二个参数进制转换成第三个参数进制。

image-20230712212755532

ceiling函数:

向上取整。

向上取整函数图像:

image-20230712213815643

image-20230712214122016

floor函数:

向下取整。

向下取整函数图像:

image-20230712214030195

image-20230712214131520

format函数:

格式化,保留n位小数(四舍五入)。

image-20230712212920247

rand函数:

生成随机数,范围 [0.0, 1.0)。

image-20230712213311555

mod函数:

取余运算。

image-20230712213042259

4. 其他函数

user函数

user() 查询当前用户。

image-20230712214528199

md5函数

md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串。

image-20230712215518690

  • 一般情况下公司内部数据库不会存储用户的明文密码,而会将用户密码形成摘要后存储对应的摘要,当用户登录账号时,将用户输入的的密码形成摘要后与数据库中存储的摘要做对比,如果对比成功则允许登录。
  • 这么做的好处主要有两个,第一个好处就是公司内部数据库中存储的不是用户的明文信息,就算用户信息泄露了也不会产生太大影响,第二个好处就是形成的摘要是定长的,这样有利于数据库表结构的设计。

database函数

database()显示当前正在使用的数据库。

image-20230712231010589

password函数

password()函数,MySQL数据库使用该函数对用户加密

image-20230712231032447

ifnull函数

ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值

image-20230712230749026

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

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

相关文章

Redis_安装配置(2)

目录 一、安装redis 1、安装gcc依赖 2、下载并解压安装包 3、编译 4、安装 5、设置全局命令 二、启动redis 1、前台启动 2、后台启动 2.1 修改redis.conf文件 2.2 使用指定配置启动redis 2.3 kill redis的进程 3、开机启动 三、配置redis 远程访问设置 设置密码…

Magic3D: High-Resolution Text-to-3D Content Creation(高分辨率文本到3d内容创建)

Magic3D: High-Resolution Text-to-3D Content Creation(高分辨率文本到3d内容创建) Paper:https://readpaper.com/pdf-annotate/note?pdfId4738271534435532801&noteId1848084184935912192 Project:https://research.nvidia…

InstructGPT:语言模型的人类反馈指令对齐

论文标题:Training language models to follow instructions with human feedback论文链接:https://arxiv.org/abs/2203.02155论文来源:OpenAI 一、概述 大型语言模型(Large language models,LLMs)可以通过…

TortoiseGit的安装和使用

1、TortoiseGit的下载安装 安装说明:因为TortoiseGit 只是一个程序壳,必须依赖一个 Git Core,所以安装前请确定已完成git安装和配置。 TortoiseGit下载地址 https://download.tortoisegit.org/tgit/ ,最新稳定版本2.11.0.0。 点进去下载程序包和语言包(非必须),安装时…

【网络】网络基础(一)

目录 一、网络协议初识 1、协议分层 2、OSI七层模型 3、 TCP/IP五层(或四层)模型 4、对网络协议栈的理解 二、网络传输基本流程 1、网络传输流程图 1.1、同一个网段内的两台主机进行文件传输 1.2、跨网段的主机的文件传输 三、数据包封装和分用 四、网络中的地址管理…

配置微服务负载均衡的两种方式

说明:在微服务开发中,每个服务是通过服务名称来区分的,当两个微服务名称相同时,注册中心会视为这两个服务是相同的。配置对应的负载均衡策略,当其他服务发送请求过来的时,可以对这两个微服务进行规则访问。…

Linux的起源

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥&…

Prompt本质解密及Evaluation实战与源码解析(二)

9.4 Evaluation for Agents源码解析 如图9-4所示,转过来,我们再看一下LangChain框架代理评估(Evaluation for Agents)的源代码。 图9- 4 LangChain的evaluation agents目录 在trajectory_eval_prompt.py文件里面,写了一个非常经典的提示词。 1. """提示…

抽象轻松有点使用的JavaScript

数据类型转换 定义概念:将一种数据类型通过用特定的方法转换成另一种数据类型 拆分: 数据类型转换 A1(一种数据类型) A2(方法) A3(转换成另一种数据类型) 理解:A1 &…

使用STM32 再实现电动车防盗钥匙扣

实现目标 1. 点击遥控器 A 按键,系统进入警戒模式,一旦检测到震动(小偷偷车),则喇叭发出声响报警 2. 点击遥控器 B 按键,系统退出警戒模式,再怎么摇晃系统都不会报警 硬件介绍 1. 震动传感器…

安装orcle报错:指定的 Oracle 系统标识符 (SID) 已在使用

安装orcle报错:[INS-35075]指定的 Oracle 系统标识符 (SID) 已在使用 说明前面的orcle没有彻底删除 解决这个问题: 搜索框 —— > 输入:regedit ——> 回车 运行regedit,选择HKEY_LOCAL_MACHINE SOFTWARE ORACLE&#xff…

【Android】从零搭建组件化项目

组件化系列文章介绍的内容稍微多了点,本着研究透这玩意的精神,从组件化的简介开始说起。 目录 简介组件化、模块化与插件化开始创建配置共享文件打包模式配置APT与JavaPoet 简介 什么是组件化? 将多个功能模板拆分、重组的过程。 为什么要使…

GEE入门学习,遥感云大数据分析、管理与可视化以及在林业应用丨灾害、水体与湿地领域应用丨GPT模型应用

目录 ①海量遥感数据处理与GEE云计算技术实践应用 ②GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例实践应用 ③GEE遥感云大数据林业应用典型案例实践及GPT模型应用 ④遥感云大数据在灾害、水体与湿地领域典型案例实践及GPT模型应用 ①海量遥感…

78. 左旋转字符串

目录 链接: 题目: 思路: 代码: 图片: 链接: 原题链接 题目: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。 请定义一个函数实现字符串左旋转操作的功能。 比如输入字…

Talk预告 | 天津大学博士生赵煜:从平面图像中理解空间语义 - 视觉空间位置描述

本期为TechBeat人工智能社区第512期线上Talk! 北京时间7月12日(周三)20:00, 天津大学博士生—赵煜的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “从平面图像中理解空间语义-视觉空间位置描述”,届时将与大家…

webpack插件安装

webpack插件安装 1、html-webpack-plugin插件2 、css-loader和style-loader插件3、less-load插件 1、html-webpack-plugin插件 1、下载插件 yarn add html-webpack-plugin -D2、webpack.config.js添加配置 *const HtmlWebpackPlugin require(html-webpack-plugin); const p…

Linux系统编程(信号处理机制)

文章目录 前言一、中断,异常,信号的区别二、信号在Linux中的标识三、信号处理相关函数四、代码实验总结 前言 本篇文章我们来讲解信号的处理机制,信号处理在Linux操作系统中必不可少,这一点值得大家注意,信号又会与中…

打通前后端 -- 创建第一个JSP页面

前言 JSP是由Sun Microsystems公司主导创建的一种动态网页技术标准。 JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。 JSP技术以Java语言作为脚本语言&…

从0-100:约拍小程序开发笔记

背景 摄影师预约小程序功能是一种方便摄影师和客户之间进行预约和安排拍摄的工具。通过该功能,摄影师可以在小程序上设置自己的可预约时间,客户可以根据摄影师的日程安排选择合适的时间进行预约。这样可以提高预约的效率,减少沟通成本&#…

【工具】tempormonkey 同步插件

tempormonkey 同步插件 1.打开tempormonkey的dashboard界面 2.右上角的setting 3.选择谷歌云盘