当前位置: 首页 > news >正文

【数据库】MySQL内置函数

 本篇分享一些在MySQL中常见的一些内置函数,如日期函数,字符串函数和数学函数,以方便于操作数据库中的数据。

1.日期函数

我们先整体观察一下这些函数再讲解案例

 日期函数使用起来都非常就简单

获得年月日:

select current_date();

这里就可以获得当前的日期

获得时分秒: 

select current_time();

获得了当前的时分秒。

获得时间戳:

时间戳就是当前的日期和时间

select current_timestamp();

和他用法同样的还有

select now();

 

获取设计的日期: 

 select date('2018-10-1 00:00:00');

可以看到我们date括号内设置了年月日还有时分秒

但是运行的结果只有年月日。

同样可以以嵌套的方式使用

在日期的基础上增加日期:

先获取一个时间

在使用函数增加时间

select date_add(now(),interval 40 day);

 

我们增加了40天,可以看到函数可以根据日历来推断增加的日期。

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

select date_sub(now(),interval 40 day);

还是刚刚的时间减去四十天

 计算两个日期之间相差多少天:

select datediff('2024-9-12','2024-6-15');

使用datediff函数

可以看到返回了一个数字,相差89天。

 使用案例1:

创建一张表,记录生日

create table tmp(id int primary key auto_increment,birthday date
);

添加当前日期:

insert into tmp(birthday) values (currt_date());

可以看到表中就可以将当前的年月日添加进去了

使用案例2:

创建一个留言表,类似于刷视频或者文章时想评论的表。

创建表

reate table msg (id int primary key auto_increment,content varchar(30) not null,sendtime datetime);

再插入两条评论和当前时间

insert into msg (content,sendtime) values ( '醉里挑灯看剑',now());

insert into msg (content,sendtime) values ( '知来者之可追',now());

 这就是带有时间时间类型的表结构案例。

2.字符串函数

先浏览都有哪些字符串函数

获得编码格式:
 

select charset(string);

可以看到我们所用的编码格式时utf-8的编码格式

 

编辑的中文也同样如此。

连接字符串:

select concat(string1,string2,....);

它可以将括号内的内容转成字符串进行拼接。

返回一个字符串在另一个字符串中出现的位置: 

instr(string,substring)

 可以看到1234出现的位置在第五个位置上。

转换成大写:

ucase(string)

转换成小写:

lcase(string)

取指定长度字符 :

select left(string,lenth);

从string的左边起取length个字符

同样的使用right也是可以的

求字符串长度:

length(string);

返回的数字即为字符串的长度。

使用案例1:拼接

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

 我们用之前的成绩表举例

我们先将表整合一下

 再使用concat将筛选出来信息连接起来。

select concat('考生姓名:',name,'总分:',chinese+math+english,'语文成绩:',chinese,'数学成绩:',math,'英语成绩:',english) msg from exam_result;

 使用案例2:求字符长度

求学生表中学生姓名占用的字节数

select name,length(name) from exam_result;

这个案例的意义是因为在Mysql中每一个汉字每一个字符,比如唐三藏每一个字都有它们对应的一个大小,一个字符就占了三个字节的大小,因为他是utf-8编码的,所以三个汉字会显示九个字节,但是字母和数字只占一个字节。 

使用案例3:替换

将EMP表中所有名字中有S的替换成'上海、

以下是案例表

之后我们使用replace函数即可替换表中的内容

select replace(ename, 'S', '上海') ,ename from EMP;

 使用案例4:截取

截取EMP表中ename字段的第二个到第三个字符

select substring(ename, 2, 2), ename from EMP;

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

先观察表中的内容,员工姓名都为大写

 再使用substring将员工姓名的首字母和后面的字母都截取出来

sselect enam,subting(ename,1,1),substring(ename,2) from emp;

 再按题目要求转换大小写

select enam,lcase(subting(ename,1,1)),substring(ename,2) from emp;

再将两个部分做拼接 

select enam,concat(lcase(subting(ename,1,1)),substring(ename,2)) from emp;

 

至此题目的要求完成。 

3. 数学函数

数学函数的使用都较为简单,以下为使用案例

求绝对值:

select abs(-12);

十进制转换为二进制

select bin(10);

 

十进制转化为十六进制

select hex(11);

 将一个数字转换为另一个进制

conv(number,from_base,to_base)

例如将数字10,从十进制转化为二进制

或者将数字10从十进制转化为五进制

取模,求余

mod(number,denominator)

负数求余也可以

生成随机数

rand()

 rand()函数生成的随机数的区间在[0.0,1.0)之间,

那如果我们需要生成一个0到99之间的随机数,只需要乘以99就可以了

以上既是一些MySQL中常用的一些函数,希望对你有所帮助,感谢你的阅读

相关文章:

【数据库】MySQL内置函数

本篇分享一些在MySQL中常见的一些内置函数,如日期函数,字符串函数和数学函数,以方便于操作数据库中的数据。 1.日期函数 我们先整体观察一下这些函数再讲解案例 日期函数使用起来都非常就简单 获得年月日: select current_dat…...

Promise查漏及回调地狱结构优化

目录 前言一、执行器函数的执行顺序二、如何在then()中抛出错误三、期约的"非重入"特性四、串行化期约五、应对回调地狱结语 前言 依据《JavaScript高级程序设计》对Promise期约相关进行查缺补漏. 一、执行器函数的执行顺序 执行器函数虽作为期约的参数, 却是期约的…...

SpringCloud-05 Resilience4J 服务降级和熔断

服务雪崩:指在多个服务之间存在依赖关系时,当一个服务发生故障或不可用时,导致其他服务也无法正常工作的情况。这种现象通常是因为服务之间的依赖关系过于紧密,当一个服务发生故障时,其他服务无法正确处理该服务的请求…...

哈希表、算法

哈希表 hash: 在编程和数据结构中,"hash" 通常指的是哈希函数,它是一种算法,用于将数据(通常是字符 串)映射到一个固定大小的数字(哈希值)。哈希函数在哈希表中尤为重要…...

变更AWS EC2 实例配置或实例类型

在本文中,九河云将带您了解如何更改由 Amazon Elastic Block Store (EBS) 支持的 Amazon Elastic Compute Cloud (EC2) 实例的类型。更改实例类型可以优化成本和性能,使其更符合您的应用程序需求。 准备工作 在开始之前,请确保您已完成以下…...

【前端】ref引用的作用

首先&#xff0c;我们要明确一点&#xff0c;使用vue的好处是&#xff1a; 想要减少开发者直接操作dom元素。使用组件模版&#xff0c;实现代码的服用。 ref的属性的实现是为了取代原生js中使用id、class等标识来获取dom元素。 helloworld组件 <template><div clas…...

运用Java实现倒计时功能

这个功能其实是比较好实现的&#xff0c;一般来说java中实现倒计时有两种方法&#xff1a; 1、使用 scheduledexecutorservice创建一个可重复执行的任务&#xff0c;直到时间到&#xff1a; ScheduledExecutorService 是 Java 中一种用于安排延迟或定期任务的工具。我们可以使…...

Vue 第三方调用若依系统实现系统单点登录

应用场景 甲方现有平台系统拟集成我方新开发系统&#xff0c;实现单点登录功能&#xff0c;即用户登录主平台后&#xff0c;无需重复登录即可无缝访问新系统&#xff0c;提升用户体验与操作效率。 解决方案 实现代码 前端 Step:1 新建ssoLogin.vue页面 <template><d…...

IP纯净度对跨境电商有哪些影响

在全球化贸易的浪潮中&#xff0c;跨境电商凭借其打破地理界限的能力&#xff0c;成为推动国际贸易的重要力量。然而&#xff0c;跨境电商的运营并非没有挑战&#xff0c;其中IP纯净度是影响其成功的关键因素之一。本文将探讨IP纯净度对跨境电商运营的多方面影响&#xff0c;并…...

docker-01 创建一个自己的镜像并运行容器

docker-01 创建一个自己的镜像并运行容器 前言 我们都知道使用Docker的镜像可以快速创建和部署应用&#xff0c;大大的节约了部署的时间。并且Docker 的镜像提供了除内核外完整的运行时环境&#xff0c;确保代码的环境一致性&#xff0c;从而不会在出现这段代码在我机器上没问…...

国产视频转换HDMI1.4转单/双MIPI DSI/CSI LT6911C芯片方案,带音频输出,QFN64封装 Lontium

LT6911C:HDMI 1.4 TO MIPI DSI/CSI 芯片简介&#xff1a; LT6911C是一款高性能的HDMI1.4转换器MIPI DSI/CSI芯片用于VR/智能手机/显示应用。对于MIPI DSI/CSI输出&#xff0c;LT6911C功能可配置单端口或双端口MIPIDSI/CSI 1高速时钟通道和1~4个高速数据通道最大1.5Gb/s/lane&am…...

亚马逊、沃尔玛、敦煌网、Target塔吉特、Temu环境搭建测评技术!

海外跨境电商各大主要平台正不断力推半托管模式&#xff0c;不断对商家开出众多吸引和扶持政策。全托管是指电商平台全面负责店铺的运营&#xff0c;包括仓储、配送、售后等&#xff0c;而商家主要负责提供货品。半托管模式则基本由商家自主经营&#xff0c;平台只负责仓配物流…...

yjs05——matplotlib画其他图像

不管是折线图还是散点图&#xff0c;饼状图&#xff0c;柱状图等&#xff0c;其流程都是 1.创建幕布 ❤2.画图画坐标补充信息 3.保存图像 4.展示图像 不同就是在画图时候的代码不太相同 折线&#xff1a;plt.plot(x,y) 散点&#xff1a;plt.scatter() 柱状图&#xff1a;plt.hi…...

【C#】添加临时环境变量

在C#中&#xff0c;可以通过System.Environment类来添加临时环境变量。临时环境变量只在当前进程中有效&#xff0c;进程结束后变量即失效&#xff0c;不会写入系统的Path中。 using System;class Program {static void Main(){// 设置临时环境变量Environment.SetEnvironment…...

物联网之ESP32与微信小程序实现指示灯、转向灯

MENU ESP32微信小程序 ESP32 代码 #include <WiFi.h> #include <WebServer.h> #include <ArduinoJson.h>const char* ssid "jifu"; const char* pass "2022xinchan!#"; const int dateTime 500; const int ledPin4 4; const int le…...

ICPC网络赛 以及ACM训练总结

一、训练反思 关于我自己暑假期间训练的反思&#xff0c;我承认无论是因为什么原因&#xff0c;我自己浪费我整整一个暑假的时间&#xff0c;暑假期间正是我们集训的关键时期&#xff0c;这期间没有任何的事情来打扰我们学习&#xff0c;而我却熬夜&#xff0c;白天训练懈怠&a…...

优化深度学习模型训练过程:提升PASCAL VOC 2012数据集上Deeplabv3+模型训练效率的策略

创作不易&#xff0c;您的打赏、关注、点赞、收藏和转发是我坚持下去的动力&#xff01; 优化说明&#xff1a; 避免重复下载和解压数据集&#xff1a;将downloadTrue改为downloadFalse&#xff0c;防止每次运行代码都重新下载和解压数据集&#xff0c;从而节省时间。 使用pin…...

【乐吾乐大屏可视化组态编辑器】使用手册

1 总览 开始设计&#xff1a;大屏可视化设计器 - 乐吾乐Le5le 1.1 画布 画布即绘画区域&#xff0c;将图形拖拽到画布进行编辑&#xff0c;绘制大屏。 1.2 菜单栏 顶部菜单导航&#xff0c;一级菜单可设置Logo、公司名称、文件编辑、常用编辑、查看、帮助&#xff0c;设置大…...

uniapp+若依 开发租房小程序源码分享

1、使用Uniapp开发的前台&#xff0c;基于 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到iOS、Android、Web&#xff08;响应式&#xff09;、以及各种小程序 2、基于SpringBoot的权限管理系统&#xff0c;易读易懂、界面简洁美观。 核心…...

日系编曲:节奏吉他与主音吉他 吉他的节奏型 节奏吉他的编写思路 吉他的Riff

这篇文章介绍的是日系吉他编写中的多吉他编写思路&#xff01; 日系吉他构成特点 ​一般日系曲子构成有两把以上的吉他&#xff0c;根据需求来进行补充&#xff1a; 通常至少为一把主音一把节奏&#xff0c;一把左一把右&#xff0c;主音一般是电吉他&#xff0c;节奏可以是电…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...