[MySQL]MySQL内置函数

2023-11-13

[MySQL]MySQL内置函数

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[MySQL]MySQL内置函数 的相关文章

随机推荐

  • Echarts+Python让你的数据可视化(文末有完整源码)

    用一个小例子 一个小程序带你了解pyecharts的基础用法 什么是Echarts Echarts介绍 代码演示 支持自定义主题 使用Echarts 安装pyecharts库 使用pyecharts制作柱形图 Echarts Python制
  • Java static 代码块测试

    Java 中代码执行顺序 类加载 gt 执行引擎 类加载 执行静态代码块 今天成员初始化 执行引擎 执行成员变量初始化 然后构造函数 package basic class Test2 Person2 person new Person2
  • 全局处理Long类型字段返回前端精度丢失

    项目场景 后端返回一个列表数据到前端 其中有部分字段类型后端定义的是Long类型并且是用雪花算法生成的 从响应数据中发现返回的值与数据库的不一致 丢失了精度 问题描述 后端使用MybatisPlus时 主键字段的主键策略用是 TableId
  • ABAP DOI技术中I_OI_SPREADSHEET接口的使用

    前言部分 大家可以关注我的公众号 公众号里的排版更好 阅读更舒适 正文部分 在DOI技术中 I OI SPREADSHEET接口有很多对excel的操作方法 举个例子 CELL FORMAT方法 这个方法里面就有参数ALIGN 可以去覆盖e
  • antd pro(ProLayout) mix混合菜单不生效

    一 问题描述 antd pro的混合菜单模式 算是一种比较新的导航菜单模式 可以让顶部全局导航 侧边导航混合模式同时出现 满足一些特别的需求 ProLayout高级布局组件的API里有一个layout参数 可以设置layout的菜单模式 我
  • nodejs-处理http请求

    文章目录 前言 node 处理 get 请求 node 处理 post 请求 总结 前言 使用nodejs搭建后端代理服务 处理http请求 理解nodejs是如何处理get post请求的 node 处理 get 请求 使用 http 模
  • 时序预测

    时序预测 MATLAB实现SO CNN BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测 目录 时序预测 MATLAB实现SO CNN BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测 预测效果 基本介绍 程序设
  • uniapp实现逆解析地址(经纬度换具体地址)

    调用高德地图的sdk ifndef H5 this qqmapsdk reverseGeocoder get poi 1 poi options address format short policy 1 radius 3000 page
  • 验证网站列表,持续更新中...

    verificationacademy com verificationguide com chipverify com https www runoob com w3cnote verilog2 sdf html https www th
  • Altium Designer常用快捷键

    1 shift s 切换单层显示 2 q 英寸和毫米 尺寸切换 3 D R 进入布线规则设置 其中 Clearance 是设置最小安全线间距 覆铜时候间距 比较常用 4 CTRL 鼠标单击某个线 整个线的NET 网络 呈现高亮状态 5 小键
  • Android平台一对一音视频通话方案对比:WebRTC VS RTMP VS RTSP

    一对一音视频通话使用场景 一对一音视频通话都需要稳定 清晰和流畅 以确保良好的用户体验 常用的使用场景如下 社交应用 社交应用是一种常见的使用场景 用户可以通过音视频通话进行面对面的交流 在线教育 老师和学生可以通过音视频通话功能进行实时互
  • vue 封装一个滚动组件和使用自定义指令封装一个滚动触底触发回调指令(纵向滚动瀑布流)

    方式一 滚动组件 纵向滚动触发触底事件和触顶事件
  • 在传统公司干是一种什么体验(八)

    永远不要相信酒桌上说的话 表哥语录 表哥去了新公司之后 经常参加应酬 因为表哥比较实诚 来者不拒 喝酒特别容易喝多 但是表哥有个好处 喝多了不说话 而且第二天能记住昨晚的事 表哥在酒桌上已经收获了999 客户跟表哥的结拜 999 大BOSS
  • 关于Unity加载优化,你可能会遇到这些问题

    关键词 资源加载 卸载 实例化实例化 资源管理方法 一 资源加载 Q1 Shader 是独立打包的 如果我在开始游戏的时候加载一次 以后切换场景时就不用每次加载了吗 确切地说 要实现后续Shader不加载开销 需要满足以下两个条件 1 包含
  • Sophus安装踩坑

    装SLAM十四讲第二版提供的Sophus Eigen版本3 4 0 报错 home ch 下载 Sophus 13fb3288311485dc94e3226b69c9b59cd06ff94e test core test so2 cpp 9
  • JAVAfx11打包部署

    1 将默认打包工具删除 添加maven shade plugin依赖 如下
  • 有实力的人才能谈梦想

    我总是徘徊 在犹豫 觉得自己做不到 只是在苟延残喘摆了 所谓的目标也不可能实现 今天我发现我做到了 原来也不是那么遥不可及 是自己不够自信 不够淡定 有实力的人聊梦想 没理想的人就想想怎么混工作吧 有实力的人 自信 坚定的毅力 不怕失败 淡
  • Vue.directive指令(自定义指令)

    定义方式 html页面定义 Vue directive hello function el binding vnode el style color binding value 全局定义 Vue directive hello insert
  • 2.搭建Fabric区块链网络环境——前提条件和fabric的安装

    1 安装前提条件 这些前提条件的满足确保了你可以顺利地搭建和运行 Fabric 区块链网络 并进行链码的开发 部署和执行 安装 Docker 确保系统上已经安装了 Docker 并且 Docker 服务正在运行 Docker Fabric
  • [MySQL]MySQL内置函数

    MySQL MySQL内置函数 文章目录 MySQL MySQL内置函数 1 日期函数 2 字符串函数 3 数学函数 4 其他函数 1 日期函数 常用日期函数如下 函数名称 描述 current date 获取当前日期 current ti