MySQL之内置函数

news2024/12/23 20:40:42

目录

一 日期函数 

主要实现的功能:

主要函数:

 

 示例:

应用

二 字符串函数

主要实现的功能

1转换或者显示相关

2切割,插入,替换,连接,比较等功能性质的

3 其他

三 数学函数

 1 运算

2 显示相关

3 向上取整或者向下取整

4进制转换

四 其它函数

加密

查询相关

其他


 

 

  有时候我们实现一些特定的功能的时候,mysql会给我们提供一批内置的函数方便我们使用,这一批函数既可以作为select后面查找的条件,又可以作为where筛选的条件进行使用。

一般来说,主要是有以下几个种类的函数

一 日期函数 

主要实现的功能:

1 获取对应的 日期,时间,时间戳,当前时间

2 计算:时间间隔,距离这一天之前或者之后(单位可以是:年分秒天),或者两个时间的差

3 显示相关:返回参数的日期部分

主要函数:

 

 示例:

注意:不同的日期是有不同的类型的,日期的获取是有对应的函数的

先测试获取不同的时间

对日期进行计算(用不同的单位验证)

加日期

date_sub也是同理,测试减去日期

 也可以和其他的函数搭配使用

 对于date_diff是计算两个日期的差,前面的日期的部分提取转换成对应的天数-后面的日期的部分转换成的对应的天数

应用

创建一个留言板,记录每一条评论发送的时间,之后查询在两分钟内发布的帖子

思路:

记录每一条评论发送的时间需要用now()函数来获取,查询两分钟内发布的帖子需要这样计算:如果发送评论的时间+2min>当前时间的话,那么就说明之前发送时间的间隔到现在小于两分钟

先创建一个表,用来保存用户的id,评论,发送时间

之后插入评论的时候带上对应的时间

查找两分钟内发送的信息(注意,时间的比较可以用><等) 

 

二 字符串函数

 

主要实现的功能

一般来说就是对字符串进行操作,归类一下的的话,一般来说是有以下几种情况的

1转换或者显示相关

转换成大写

ucase()  (upper)

转换成小写

lcase()      (low)

 

去除空格

一般来说,从网络中接收到的报文带有空格,如果用这个的话,就可以去除对应的空格,拿到相应的内容

trim()是去除所有空格 ltrim 去除左空格 rtrim 去除右空格

中间部分的空格不会被清除掉

计算长度

length() 单位是字节 这个与编码有关,不同的编码对应的字节不一样

也可以查找对应列的

 

对于汉字的gbk编码来说,一个字符就是三个字节,默认是以字节的方式来进行显示的 

2切割,插入,替换,连接,比较等功能性质的

查找

instr()

查找子串是否出现在string中,如果出现的话就返回出现的第一个位置

如果找不到的话就返回0

 

 

切割

这些是以字符为基本单位的

left()从字符串最左边开始

right()总字符串最右边开始

 

substring() 从字符串任意位置开始,如果不指定个数的话,默认就是取到末尾

 对于汉字来说,以一个字为单位;对于字符来说,一个字母为单位截取

下标是从1开始计算的

替换

replace() 这个会对默认的范围内的数据进行全部的替换

 

比较

strcmp()

比较两个字符串,如果是前者小的话,返回-1;如果是前者大的话,返回1;如果后者和前者相等的话就返回0

 

 

 

连接

concat()

这个的作用和C语言中的strcat的作用是一致的,整数和浮点数和字符串都是可以进行拼接的,内部使用单引号或者双引号都是没有问题的

 一般来说可以用来调整对应的显示

 

3 其他

charset()

查看对应字符编码。如果数据库中出现了乱码的现象,我们可以查看对应的存取字符编码是否一致,不一致的话,就进行调整。

这里是之前的评论文字,显示的是gbk编码 

这种来说默认就是utf8了(配置文件中设置过) 

一般来说,

字符是utf8类型的编码 

整数等bin存储

汉字gbk

三 数学函数

 1 运算

绝对值abs()

只能对整数浮点数等数值类型的使用

 

应用:比如可以计算财政情况:盈余还是赤字,计算员工工资差距 

取模,求余mod()

可以对正数或者负数使用

 

 

rand() 求随机数

默认是[0.0,1.0)之间的小数,如果进行相应的运算可以改变范围 

2 显示相关

格式化 format(),传入格式化的数据和对应的精度保留的位数,会进行取整的

3 向上取整或者向下取整

从数轴上看,不管是正数还是负数,往无穷大的方向取整就是向上取整;反之就是向下取整

ceiling() 向上取整

floor()向下取整

 

 

4进制转换

都是以十进制为基本转换单位的

bin()--->十进制转换成二进制

hex()--->十进制转换成十六进制

conv()--->自己指定转化规则

conv只能输入数字,后面规则指定也是以数字的形式指定的

四 其它函数

 

加密

md5

形成摘要

为什么要形成摘要:我们可以对大文本构建整数来形成摘要,以对称密钥的方式形成签名。形成摘要之后基本上得不到原来的数据,但是底层进行比较的时候直接通过加密算法比较摘要即可(密码验证本质上就是比较存储的摘要)

他是一个定长的数据

 应用:对于密码这种保密性比较高的数据,就可以用md5的方式进行加密。当然了,在涉及这些数据的时候,mysql是会去过滤掉的,因为mysql的语句是可以查找的,这样的话就可以防止找到对应的密码等信息

密码加密

对于密码的处理,mysql中也有一个password来进行加密,这一种密码安全强度比md5的强度更高一点

 

查询相关

查看用户信息

mysql中一些相关的配置是以数据库存储的,也是以表的形式呈现的。与用户相关的信息保存在mysql的user表中。我们用user()查询当前的用户,本质上就是在对应的数据库文件中查找相关信息

 

记录了对应的用户和权限

 

 

其他

判断是否为空

ifnull 

相当于一种三目运算符,如果第一个字符不为空就返回第一个;如果第一个为空但是第二个不为空的话,就返回第二个;否则两个都为空就返回null

 

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

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

相关文章

MySQL-运算符的使用解析

运算符的使用解析 1 运算符概述2 算数运算符3 比较运算符3.1 等于运算符&#xff08;&#xff09;3.2 安全等于运算符&#xff08;<>&#xff09;3.3 不等于运算符&#xff08;<> 或者 &#xff01;&#xff09;3.4 小于等于运算符&#xff08;<&#xff09;3.5…

Jmeter基础教程合集

环境搭建 1.安装java 8.0以上版本 2.下载jmeter并安装。安装参考网址&#xff1a;https://blog.csdn.net/wust_lh/article/details/86095924 3.打开JMeter中bin目录下面的jmeter.bat文件即可打开JMeter了&#xff0c;打开的时候会有两个窗口&#xff0c;Jmeter的命令窗口和Jme…

【数据结构】哈希表——闭散列 | 开散列(哈希桶)

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《数据结构与算法》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 哈希表 &#x1f3af;哈希&#x1f94a;直接定址法&#x1f94a;除留余数法&#x1f94a;哈…

CHAPTER 3: 《A FRAMEWORK FOR SYSTEM DESIGN INTERVIEWS》第3章 《面试系统设计框架》

CHAPTER 3: A FRAMEWORK FOR SYSTEM DESIGN INTERVIEWS 你刚刚获得了梦寐以求的理想公司的现场面试机会。招聘协调员给你发送了当天的日程安排。浏览列表&#xff0c;你会感觉很好直到你的目光落在这个面试环节——系统设计面试。 系统设计面试通常很吓人。它可以像“设计一个…

【Redis】缓存同步

【Redis】缓存同步 文章目录 【Redis】缓存同步1. 数据同步策略2. 异步通知策略3. Canal3.1 Canal客户端3.2 监听器 1. 数据同步策略 缓存数据同步的常见方式有三种&#xff1a; 设置有效期&#xff1a;给缓存设置有效期&#xff0c;到期后自动删除&#xff0c;再次查询时更新…

网络系统集成实验(四)| 系统集成路由器基本配置

目录 一、前言 二、实验目的 三、实验需求 四、实验步骤与现象 &#xff08;一&#xff09;静态路由 Step1&#xff1a;构建实验拓扑如下 Step2&#xff1a;IP地址配置如下 Step3&#xff1a;配置静态路由 Step4&#xff1a;验证 &#xff08;二&#xff09;NAT配置—…

OpenPCDet复现过程记录

0、前言 OpenPCDet项目之前我就复现过&#xff0c;一个很优秀的项目&#xff0c;这几天又需要用到这个项目&#xff0c;再次复现遇到了不少问题&#xff0c;特此记录复现的流程 1、环境准备 1.1、前置条件 以下是我安装的版本 CUDA 11.3CUDNN 8.2.1 CUDA和CUDNN安装可以参考…

Yolo v1 笔记

个人不太懂的点 1.损失函数的4与5项 【论文解读】Yolo三部曲解读——Yolov1 - 知乎 https://www.youtube.com/watch?vNkFENlEb4kM&t672s 训练阶段&#xff1a; C_i 预测值&#xff1a;由网络输出出来7*7*30中第一个bbox和第二个bbox的置信度confidence C_i^hat 标签值…

(六)大数据实战——hadoop集群实现免密登录和文件互传

前言 本节内容我们主要介绍一下hadoop集群服务器之间实现免密登录和文件互传的功能&#xff0c;这样更加方便我们使用hadoop服务器实现服务器之间的相互登录和文件的相互传输。集群之间的访问不在需要授权就可以实现相互访问。 正文 SSH免密登录 ①分别在hadoop101、hadoop1…

后台管理系统之登录方案记录

需求&#xff1a;根据当前环境的不同&#xff0c;请求不同的 BaseUrl 解决&#xff1a;在根目录中新建.env.development与.env.production连个文件&#xff0c;进行配置&#xff1a; # .env.production ENV production# base api VUE_APP_BASE_API /prod-api# .env.develop…

目标检测——YOLOv8(十四)

简介&#xff1a; YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本&#xff0c;目前支持图像分类、物体检测和实例分割任务。不过 ultralytics 并没有直接将开源库命名为 YOLOv8&#xff0c;而是直接使用 ultralytics 这个词&#xff0c;原…

nodejs+vue 学分置换管理系统

在大学四年参加了各类竞赛后&#xff0c;我发现参加各类比赛存在报名过程过于繁琐&#xff0c;评比过程不透明和易出错等问题&#xff0c;所以在定题时与老师商讨后确定设计和实现基于nodejs的高校竞赛信息发布系统&#xff0c;帮助老师发布竞赛内容&#xff0c;便于同学们线上…

24考研数学每日一题(带解析)2023年12月1日-2023年12月31日

title: 24考研数学每日一题Latex版&#xff08;带解析&#xff09; date: 2023-01-28 11:49:26 plugins: mathjax tags:学习考研 categories:考研数学 题目来源于武老师的每日一题&#xff0c;答案是自己做的&#xff0c;不太严谨&#xff0c;仅供参考 2022年12月1日 知识点…

区块浏览器Tokenview受邀参加2023香港Web3嘉年华,用科技与善良打造全球区块浏览器Web3生态

区块浏览器Tokenview受邀参加2023香港Web3嘉年华,用科技与善良打造全球区块浏览器Web3生态 4月12-15日&#xff0c;由万向区块链实验室、HashKey Group 联合举办、W3ME 承办的「2023 香港 Web3 嘉年华」在香港会议展览中心举行。该活动被称为香港有史以来规模最大的加密领域活…

无人机飞行控制实验平台

无人机在研制过程中需要不断地进行飞行测试&#xff0c;而测试的过程不是万无一失的&#xff0c;飞行过程中发生任何错误都有可能会导致无人机的损毁或破坏&#xff0c;更严重地甚至会造成外界伤害。 基于此我们推出了无人机的三旋转自由度 (3-DOF) 飞行平台测试系统&#xff…

学成在线笔记+踩坑(4)——【媒资管理模块】上传图片,Nacos+Gateway+MinIO

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题 目录 1. 媒资管理模块简介 1.1 模块介绍 1.2 业务流程 1.2.1 上传课程图片 1.2.2 上传视频 1.2.3 处理视频 1.2.4 审核媒资 1.2.5 绑定媒…

龙讯旷腾材料计算大赛启动,打怪升级赢大奖

龙讯旷腾2023计算大赛第一期电催化计算大赛启动 选拔赛截止日期5月21日 决赛截止日期5月28日 大赛亮点 免费培训、灵活安排时间参与 多次机会冲关决赛奖励金 已购/未购用户均可参加 使用Mcloud参赛送500元机时 计算大赛——看视频学习还能赢奖金&#xff1f; 材料计算…

Java学习-MySQL-事务

Java学习-MySQL-事务 ACID原则&#xff1a;原子性、一致性、隔离性、持久性 原子性&#xff08;Atomicity&#xff09; 两个步骤要么一起成功&#xff0c;要么一起失败&#xff0c;不可能只成功一个。 举例&#xff1a; A账户400元&#xff0c;B账户600元&#xff0c;A向B转…

Cloudera的新变化:混合数据平台、端到端AI、实时数据处理

作者 | 宋慧 出品 | CSDN云计算 数据的价值和技术应用&#xff0c;获得了全行业的关注、认可和重视。 不过&#xff0c;数据赛道百家争鸣&#xff0c;数据系统的技术与行业方案众多&#xff0c;对于开发团队和用户来说&#xff0c;其实仍然需要耗费大量调研和分析的时间。 近日…

notepad++自动缩进功能

支持java等格式化 代码编辑器Notepad是程序员必备的文本编辑器&#xff0c;该软件软件功能非常强大&#xff0c;界面简洁明晰、操作方便快捷&#xff0c;设计得很人性化。Notepad官方下载支持27种编程语言&#xff0c;通吃C,C ,Java ,C#, XML, HTML, PHP,JS 等。NotePad是一个…