【MySQL数据库】:MySQL内置函数

目录

日期函数

current_date 函数

 current_time 函数

current_timestamp 函数 

now 函数 

date 函数 

date_add 函数 

 date_sub 函数

datediff 函数

字符串函数

charset 函数 

concat 函数 

instr 函数

ucase 函数 

lcase 函数 

left 函数 

length 函数 

 replace 函数

strcmp 函数

 substring 函数

ltrim、rtrim和trim函数 

数学函数 

abs 函数 

 bin 函数

hex 函数

conv 函数 

ceiling 函数 

floor 函数

format 函数

rand 函数 

mod 函数

其他函数 

user 函数

md5 函数 

database 函数

password 函数 

ifnull 函数 


日期函数

current_date 函数

获取当前的日期

 

 current_time 函数

获取当前的时间

current_timestamp 函数 

获取当前的时间戳,以日期时间格式进行显示

now 函数 

获取当前的日期时间

date 函数 

获取当前的日期时间

date_add 函数 

在日期的基础上添加日期或时间

如果在date_add函数中添加的日期/时间为负值,则相当于在日期的基础上减去日期/时间。

 date_sub 函数

在日期的基础上减去日期或时间

如果在date_sub函数中减去的日期/时间为负值,则相当于在日期的基础上添加日期/时间。 

datediff 函数

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

综合案例 

 创建一个评论表,表中包含自增长的主键id、昵称、评论内容和评论时间。并且向表中插入一些数据,插入时直接通过now函数指明评论时间。

在显示评论信息时,如果只想显示评论的日期而不显示评论的时间,可以在查询sendtime字段时,通过date函数截取sendtime的日期部分进行显示。

 在显示评论信息时,如果要查询2分钟内发布的评论信息,实际就是要筛选出评论时间加上2分钟后大于当前时间的评论,这时需要同时借助date_add和now函数。

字符串函数

charset 函数 

获取使用的字符集

concat 函数 

获取连接后的字符串

 现有如下成绩表,要求以“XXX的语文是XX分,数学是XX分,英语是XX分”的格式显示成绩表中的信息。

instr 函数

获取一个字符串在另一个字符串中首次出现的位置,如果没有出现则返回0。

ucase 函数 

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

lcase 函数 

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

left 函数 

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

length 函数 

获取字符串占用的字节数

说明一下: 对于多字节字符来说,不同编码中一个字符所占的字节个数是不同的,比如utf8中一个字符占用3个字节,而gbk中一个字符占用2个字节。

 replace 函数

用于将字符串中的指定子字符串替换成另一个字符串

 将成绩表中所有名字中的“孙”替换成“田”。

strcmp 函数

strcmp函数用于逐字符按照ASCII码比较两个字符串的大小,两个字符串大小相等返回0,
前者大返回1,后者大返回-1。

注意:strcmp函数在比较时是不区分大小写的。

 substring 函数

用于从字符串的指定位置开始,向后截取指定个数的字符

如果没有指定要截取的字符个数,则默认从指定位置开始截取到最后。 

ltrim、rtrim和trim函数 

trim函数 用于去除字符串的前后空格
ltrim和rtrim函数 分别用于去除字符串的前空格和后空格

数学函数 

abs 函数 

获取一个数的绝对值

 bin 函数

将一个十进制数转换成二进制

hex 函数

将一个十进制数转换成十六进制

conv 函数 

将一个数从一个进制转换成另一个进制

ceiling 函数 

对一个数进行向上取整

注意: 向上取整本质是向正无穷方向取整,因此负数向上取整后得到的是第一个大于等于该数的整数。

floor 函数

floor函数用于对一个数进行向下取整

注意:向下取整本质是向负无穷方向取整,因此负数向下取整后得到的是第一个小于等于该数的整数。

format 函数

用于对数值进行格式化,以四舍五入的方式保留指定位数的小数

rand 函数 

用于生成0.0到1.0的随机浮点数

如果想要生成0到100的随机数,可以用生成的随机浮点数乘以100,然后再以某种取整方式进行取整。

mod 函数

用于对数值进行求余运算

其他函数 

user 函数

用于获取MySQL连接的当前用户名和主机名

md5 函数 

用于对一个字符串进行md5摘要,摘要后得到一个32位字符串

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

database 函数

用于显示当前正在使用的数据库

password 函数 

用于对用户数据进行加密

ifnull 函数 

接受两个参数,如果第一个参数不为null则返回第一个参数值,否则返回第二个参数值。

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

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

相关文章

探索自动发邮件的奥秘:从配置到实现

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:邮件自动化的魅力 二、配置环境:选择适合的SMTP服务器 示…

Spring Boot集成freemaker快速入门demo

1.什么是freemaker? FreeMarker 是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库…

Adobe AntiCC 简化版 安装教程

Adobe AntiCC 简化版 安装教程 原文地址:https://blog.csdn.net/weixin_48311847/article/details/139277743

数据真实性与经济收益的矛盾:第三方检测何去何从|中联环保圈

在当今的市场化竞争环境中,第三方检测公司在环保行业中处于较为底端的位置。其多数检测业务依赖于第三方技术服务单位的委托,然而在委托过程中,往往面临着报告真实性和收款的矛盾。一旦第三方检测公司负责人在数据真实性和经济收益矛盾中取舍…

1806 jsp防疫物资销售管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 防疫物资销售管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.…

Android USB调试模式下自动上下滑动(Go实现)

简介 有的时候要对手机UI界面进行滑动测试, 手动或许太消耗时间, 理由Android USB调试模式对UI进行上下滑动测试。 adb指令 使用adb --help 可以查看所有的adb支持指令, 但这里我们只需要上下, 使用到的指令: adb devices #列举所有设备 ad…

不同类型的区块链钱包有什么特点和适用场景?

区块链钱包是用于存储和管理加密货币的重要工具,市面上有许多不同类型的区块链钱包可供选择。以下是几种主要类型的区块链钱包及其特点和适用场景。 1.软件钱包: 特点:软件钱包是最常见的一种区块链钱包,通常作为软件应用程序提供…

后量子加密算法的数学原理

后量子加密算法是一类专为抵御量子计算机攻击而设计的加密算法。随着量子计算技术的迅速发展,传统的加密算法如RSA和椭圆曲线密码学在量子计算机面前变得脆弱,因此,开发能够在量子计算时代保持安全性的加密算法变得尤为重要。下面将详细介绍后…

软件架构设计之质量属性浅析

引言 在数字化浪潮席卷而来的今天,软件已经渗透到我们生活的方方面面,从手机APP到大型企业级系统,无一不彰显着软件技术的魅力。然而,在这背后,软件架构设计作为软件开发的基石,其质量属性的重要性不言而喻…

Blazor入门-svg绘制-碰撞检测和图形坐标调整

上一篇: Blazor入门-简单svg绘制导出图像_blazor 画图-CSDN博客 https://blog.csdn.net/pxy7896/article/details/139003443 注意:本文只给出思路和框架,对于具体的计算细节,考虑到日后会写入软件著作权和专利文书,因…

STM32-11-电容触摸按键

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32电容触摸按键 电容触摸按键原理: 无手指触摸:上电时&…

【Java EE】网络原理——HTTP响应

目录 1.认识“状态码”(status code) 1.1 200 OK 1.2 404 Not Found 1.3 403 Forbodden 1.4 Method Not Allowed 1.5 Internal Sever Error 1.6 504 Gsteway Timeout 1.7 Move temporarily 1.8 Moved Permanently 1.9状态码小结 2.认识响应“报…

树莓派部署harbor_arm64

文章目录 树莓派4b部署Harbor-arm64版本docker-compose维护命令访问harbor 192.168.1.111认用户名密码admin/Harbor12345 树莓派4b部署Harbor-arm64版本 harbor-arm版本 部署:参考 wget https://github.com/hzliangbin/harbor-arm64/releases/download/v1.9.3/ha…

java项目之高校教师科研管理系统源码(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的高校教师科研管理系统源码。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 高校教师科研管…

评测 香橙派OrangePi在智能交通上的应用

1、OrangePi应用场景 关于 Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能 AI 开发板,其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,内存提供了 8GB 和 16GB两种版本。可以实现图像、视频等多种数据分析与推理计算&#…

OpenMV的VisionBoard视觉识别开发板学习记录

此篇博客仅用于对VisionBoard的开发板的学习研究记录,没有教学内容。 一、资料来源 开发板资料链接 开发板环境搭建手册 开发板视频教程 板子的资料网站 openmv官方的网站 目录 一、资料来源二、针对 VisionBoard的目标识别和定位总结1. 目标识别功能1.1 物体检测…

芯片原厂驱动开发工程师:初学到精通,如何快速成长?

01 前言 大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有…

htb-Mailing

因为做windows服务器渗透较少,不妥的地方还请师傅们指出 可先看思路,实在不行再看writeup 任意文件下载拿pop3登录邮箱——》利用邮件服务器漏洞拿下NTLM——》利用组件版本漏洞拿下 拿shell 端口扫描开放服务 Host is up (0.91s latency). Not shown:…

CSS学习笔记:rem实现移动端适配的原理——媒体查询

移动端适配 移动端即手机端,也称M端 移动端适配:同一套移动端页面在不同屏幕尺寸的手机上可以实现宽度和高度的自适应,也就是页面中元素的宽度和高度可以根据屏幕尺寸的变化等比缩放 rem配合媒体查询可实现移动端适配 rem单位 媒体查询 …

SpringAdminClient如何将Httpbasic账号密码告知SpringAdminServer

场景,因为Config Service开了权限校验,注册到eureka之后,SpringAdmin查看信息会报错401,如果想在SpringAdmin中正确的看到Config Service的actuator信息则需要将账号密码告知给SpringAdmin,磁力用的是Eureka作为发现服…