【数据库】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引用的作用
首先,我们要明确一点,使用vue的好处是: 想要减少开发者直接操作dom元素。使用组件模版,实现代码的服用。 ref的属性的实现是为了取代原生js中使用id、class等标识来获取dom元素。 helloworld组件 <template><div clas…...
运用Java实现倒计时功能
这个功能其实是比较好实现的,一般来说java中实现倒计时有两种方法: 1、使用 scheduledexecutorservice创建一个可重复执行的任务,直到时间到: ScheduledExecutorService 是 Java 中一种用于安排延迟或定期任务的工具。我们可以使…...
Vue 第三方调用若依系统实现系统单点登录
应用场景 甲方现有平台系统拟集成我方新开发系统,实现单点登录功能,即用户登录主平台后,无需重复登录即可无缝访问新系统,提升用户体验与操作效率。 解决方案 实现代码 前端 Step:1 新建ssoLogin.vue页面 <template><d…...
IP纯净度对跨境电商有哪些影响
在全球化贸易的浪潮中,跨境电商凭借其打破地理界限的能力,成为推动国际贸易的重要力量。然而,跨境电商的运营并非没有挑战,其中IP纯净度是影响其成功的关键因素之一。本文将探讨IP纯净度对跨境电商运营的多方面影响,并…...
docker-01 创建一个自己的镜像并运行容器
docker-01 创建一个自己的镜像并运行容器 前言 我们都知道使用Docker的镜像可以快速创建和部署应用,大大的节约了部署的时间。并且Docker 的镜像提供了除内核外完整的运行时环境,确保代码的环境一致性,从而不会在出现这段代码在我机器上没问…...
国产视频转换HDMI1.4转单/双MIPI DSI/CSI LT6911C芯片方案,带音频输出,QFN64封装 Lontium
LT6911C:HDMI 1.4 TO MIPI DSI/CSI 芯片简介: LT6911C是一款高性能的HDMI1.4转换器MIPI DSI/CSI芯片用于VR/智能手机/显示应用。对于MIPI DSI/CSI输出,LT6911C功能可配置单端口或双端口MIPIDSI/CSI 1高速时钟通道和1~4个高速数据通道最大1.5Gb/s/lane&am…...
亚马逊、沃尔玛、敦煌网、Target塔吉特、Temu环境搭建测评技术!
海外跨境电商各大主要平台正不断力推半托管模式,不断对商家开出众多吸引和扶持政策。全托管是指电商平台全面负责店铺的运营,包括仓储、配送、售后等,而商家主要负责提供货品。半托管模式则基本由商家自主经营,平台只负责仓配物流…...
yjs05——matplotlib画其他图像
不管是折线图还是散点图,饼状图,柱状图等,其流程都是 1.创建幕布 ❤2.画图画坐标补充信息 3.保存图像 4.展示图像 不同就是在画图时候的代码不太相同 折线:plt.plot(x,y) 散点:plt.scatter() 柱状图:plt.hi…...
【C#】添加临时环境变量
在C#中,可以通过System.Environment类来添加临时环境变量。临时环境变量只在当前进程中有效,进程结束后变量即失效,不会写入系统的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训练总结
一、训练反思 关于我自己暑假期间训练的反思,我承认无论是因为什么原因,我自己浪费我整整一个暑假的时间,暑假期间正是我们集训的关键时期,这期间没有任何的事情来打扰我们学习,而我却熬夜,白天训练懈怠&a…...
优化深度学习模型训练过程:提升PASCAL VOC 2012数据集上Deeplabv3+模型训练效率的策略
创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力! 优化说明: 避免重复下载和解压数据集:将downloadTrue改为downloadFalse,防止每次运行代码都重新下载和解压数据集,从而节省时间。 使用pin…...
【乐吾乐大屏可视化组态编辑器】使用手册
1 总览 开始设计:大屏可视化设计器 - 乐吾乐Le5le 1.1 画布 画布即绘画区域,将图形拖拽到画布进行编辑,绘制大屏。 1.2 菜单栏 顶部菜单导航,一级菜单可设置Logo、公司名称、文件编辑、常用编辑、查看、帮助,设置大…...
uniapp+若依 开发租房小程序源码分享
1、使用Uniapp开发的前台,基于 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序 2、基于SpringBoot的权限管理系统,易读易懂、界面简洁美观。 核心…...
日系编曲:节奏吉他与主音吉他 吉他的节奏型 节奏吉他的编写思路 吉他的Riff
这篇文章介绍的是日系吉他编写中的多吉他编写思路! 日系吉他构成特点 一般日系曲子构成有两把以上的吉他,根据需求来进行补充: 通常至少为一把主音一把节奏,一把左一把右,主音一般是电吉他,节奏可以是电…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
