MySQL·内置函数

目录

函数

日期函数

案例1:创建一张表,记录生日

案例2:创建一个留言表 

案例3:请查询在2分钟内发布的帖子

字符串函数

案例1: 获取emp表的ename列的字符集

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

 案例3:求学生表中学生姓名占用的字节数

案例4:将EMP表中所有名字中有S的替换成'上海' 

案例5:截取EMP表中ename字段的第二个到第三个字符

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

数学函数

补充:向上取整与向下取整的理解

其他函数


函数

日期函数

通常日期就是指的年月日,时间就是指的时分秒,下面是使用案例

now() 和 current_timestamp()的使用是一样的

 

date()可以用来提前时间的左半部分

里面也可以跟函数

date_add() 同理里面也可以跟着函数

有增加自然就有减去 date_sub()

计算两个年份之间相差多少天数,datediff() ,这个就是前者与后者相减,所以可以为负数

 

 

案例1:创建一张表,记录生日

首先创建一张表来进行测试

插入两条数据 

 使用函数进行插入

使用current_time()也可以插入,不过会警告,因为用错了 

当然你去使用current_timestamp()时间戳也行,就像编程那边的隐式类型转换,不过实际使用是不建议这样去插入的

 

案例2:创建一个留言表 

同理我们创建一张表进行测试

插入数据 

查看数据,只需要看日期的话,可以使用函数

 

案例3:请查询在2分钟内发布的帖子

 

使用上一个案例的表做演示

 

字符串函数

 

charset:查看字符集 

concat:字符拼接函数 

instr:查看目标字符在原字符串中的位置,下标从1开始,没找到就返回0

ucase和lcase:转化大小写

left:提前字符,后者跟着提前长度

当然也有right函数

length:显示字符串的长度

ltrim与rtrim:去除左边\右边的空格

通常用在用户进行输入的时候会不小心输入空格,程序员就可以用这个进行去除

 

案例1: 获取emp表的ename列的字符集

使用上一篇文章使用的表结构进行演示,使用场景:排查错误乱码,通乱码一般是由于编码格式的不同所造成的,所以排除编码错误通常可以解决此类问题

 

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

找到之前文章中所用的一张表结构 

利用concat进行拼接 

 

 案例3:求学生表中学生姓名占用的字节数

这里也可以看出来一个中文占3个字节,注意不要和字符数搞错了

注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;
如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数
(与字符集编码有关)

 

案例4:将EMP表中所有名字中有S的替换成'上海' 

还是使用这张员工表 

我们把查询结果进行了替换,当然这里指的是查询结果,实际上,原表是没有进行修改的 

 

案例5:截取EMP表中ename字段的第二个到第三个字符

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

第一步:截取左右俩个部分

第二步:将其首字母小写化

第三步:拼接

数学函数

abs:绝对值

bin:转为二进制显示

hex:转为十六进制显示

conv:从一个进制转为另一个进制

format:格式化显示

mod:取模

rand:随机数(0~1浮点数随机)

当然你可以嵌套其他的函数来随机到你想要的数据 

ceiling与floor:向上向下取整

补充:向上取整与向下取整的理解

 

ceiling:向上取整(即向数值变大的方向取整) 

 

这个在银行中就是使用的向上取整

floor:向下取整(即使数值变小的取整) 

其他函数

user() 查询当前用户

不过因为还没有配置登入机,没有用户,目前是使用免密码登入的,后序再对这方面进行介绍

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

 

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

就是对数据进行摘要,数据库中保存密码之类的敏感数据是不能直接进行插入保存的,通常需要对其进行加密操作,这里的md5,虽然不是加密,但是也算是第一个防止数据泄露的防范措施了

 

创建一张表

 

一般来说都是像第二种插入的方式 

我们查询当然也要进行md5摘要操作

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

通常我们在数据库进行加密操作是用这个函数来进行的,同理它加密出来的也是等长的 

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

这个很像C++中 a==b? a : b,三目运算符的作用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vinted店铺总被封号?如何有效养号?

Vinted是一家欧洲知名的二手时尚交易平台,致力于连接买家和卖家,让他们能够在平台上买卖二手时尚商品。用户可以在Vinted上销售和购买服装、鞋子、配饰等各种时尚物品,无论是品牌商品还是非品牌商品,都可以在平台上找到。Vinted的…

idea修改maven项目名称及子模块名称

一、修改目录名称 shift F6修改目录,选择“rename module and dictionary”。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/43efd9c6af6e43ad9656455db94b37a2.png)二、修改子项目pom的 三、修改父项目pom的 四、刷新maven项目

JS笔试手撕题

数据劫持 Vue2的Object.defineProperty() Vue2的响应式是通过Object.defineProperty()拦截数据,将数据转换成getter/setter的形式,在访问数据的时候调用getter函数,在修改数据的时候调用setter函数。然后利用发布-订阅模式,在数…

Windows下启动Tomcat显示乱码解决办法

1、Windows下启动Tomcat显示乱码 2、解决办法 找到 D:\apache-tomcat-9.0.89\conf下的logging.properties,找到java.util.logging.ConsoleHandler.encoding的值改为GBK,就可以了 完美解决!显示正常的中文了

网络安全之二层局域网封装及广域网封装详解

局域网封装:Ethernet2(TCP/IP),IEEE802.3(OSI)(前面文章中讲解了TCP、IP和OSI本文就不继续讲解:可以查看:网络安全之OSI七层模型详解-CSDN博客) 广域网封装&…

『ZJUBCA Collaboration』WTF Academy 赞助支持

非常荣幸宣布,浙江大学区块链协会收到WTF Academy的赞助与支持,未来将共同开展更多深度合作。 WTF Academy是开发者的Web3开源大学,旨在通过开源教育让100,000名开发者进入到Web3。截止目前,WTF开源教程在GitHub收获超15,000 ⭐&a…

环形链表问题详解

引言 环形链表的题大家都应该做过,如果没有做过可以去某扣上做一下 ,下面有传送门 141. 环形链表 - 力扣(LeetCode)https://leetcode.cn/problems/linked-list-cycle/submissions/530160081/ 正文 如果在面试的情况下出现了环形链表的题大…

QLineEdit 最右侧添加按钮

如果采用QLineEdit + QPushButton的方式的话,无法将按钮放到QLineEdit的输入框内部,所以下面的方法可以将按钮放到QLineEdit内部的最右侧,效果: 代码如下: QLineEdit* editor = new QLineEdit(parent); QToolButton* btn = new QToolButton; btn->setText("...&q…

【噪声学习】噪声标签的鲁棒点云分割

Robust Point Cloud Segmentation with Noisy Annotations 事实上,与二维图像标注[1]、[2]相比,三维数据的干净标签更难获得。这主要是因为1)需要标注的点数通常非常庞大,例如在 ScanNetV2 [3] 中标注一个典型的室内场景时,需要标注百万量级的点数;2)标注过程本身更加复…

使用SmartEDA电路仿真软件,让这五件事变得很简单

SmartEDA电路仿真软件:轻松实现电子设计五大突破 在电子设计领域,SmartEDA电路仿真软件以其强大的功能和用户友好的界面,成为了设计师们的得力助手。这款软件不仅简化了电路设计流程,还提高了设计效率,让以下五件事情…

【驱动】I2C读写时序

1、I2C总线 I2C使用两条线在主控制器和从机之间通信,SCL(串行时钟线)和SDA(串行数据线),这两条线需接5~10欧上拉电阻,总线空闲空闲时,SCL和SDA处于高电平,I2C总线标准模式速度可以达到100K/S,快速模式可以达到400K/S。 2、状态 I2C总线有四种状态:空闲、启动、忙碌、…

品质为王:高效溶解性鱼油胶囊的软胶囊弹性硬度测试解析

品质为王:高效溶解性鱼油胶囊的软胶囊弹性硬度测试解析 在当今的健康产品市场中,高效溶解性鱼油胶囊以其独特的营养价值和吸收效率赢得了众多消费者的青睐。然而,要想在激烈的市场竞争中脱颖而出,产品的品质保证至关重要。其中&a…

RabbitMQ-基础

RabbitMQ 同步调用 双方交互都是实时的,可以立即返回结果 问题 拓展性差:每次有新的需求,代码经常变动,不符合开闭原则性能下降:调用者需要等待服务提供者分别执行后才返回结果,服务提供者很多情况下会…

看完这个,你就懂了!IT审计到底是干什么的?如何做好IT审计?

01 大家应该都知道财务审计, 通俗讲,就是查账的。 看一下公司账上的数据是否准确, 每笔账是否都能合理溯源。 那IT审计到底是干什么的呢? 它和财务审计有什么关系吗? 这么跟你说吧, 现在很多公司都…

Etcd集群选举细节

日志级别 在 etcd 集群中,领导者选举是 Raft 协议的一部分,用于在当前领导者失败或无法与集群中的其他节点通信时选出新的领导者。以下是您提供的日志中与领导者选举相关的一些关键条目,以及对它们的详细说明: 节点失去领导者&am…

Delta lake with Java--使用stream同步数据

今天继续学习Delta lake Up and Running 的第8章,处理流数据,要实现的效果就是在一个delta表(名为:YellowTaxiStreamSource)插入一条数据,然后通过流的方式能同步到另外一个delta表 (名为&#…

机器人系统可以支持对接人工系统吗?

​ 随着科技的飞速发展,机器人系统在各行各业都扮演着越来越重要的角色。它们可以高效地处理大量数据,执行繁琐的任务,甚至在某些领域超越了人类的能力。然而,机器人系统也有其局限性,特别是在处理复杂的人际交往…

自动驾驶主流芯片及平台架构(四)华为、​高通、英伟达高算力平台

上一章节有提到低算力的自动驾驶平台,本章内容重点介绍高算力的自动驾驶平台,华为、高通、英伟达。 华为自动驾驶MDC平台方案介绍 以整车数字架构为基础,全面管理软硬件的复杂性,并确保整车的可靠性:我们提出华为CCAVe…

批量图片重命名及汇总

又一堆图片文件需要处理... 源文件分布: 有N个文件夹,每个文件夹下又有M个子文件夹,每个子文件夹下有X张图片。 例如文件夹A下有子文件夹A1,A2,A3,子文件夹A1下有图片a-1,a-2,a-3...... 处理目标: 1、将所有图片汇…

算法提高之树的中心

算法提高之树的中心 核心思想:树形dp 换根dp 每个点作为根节点 找其子树的最大距离和父节点的最大距离 dfs1:求子树对于当前根节点的最大距离和次大距离 求次大距离原因:如果当前节点是其父节点子树的最大路径上的点,最大距离不…