【MySQL-5】MySQL的内置函数
目录
1. 整体学习的思维导图
2. 日期函数
编辑 2.1 current_date()
2.2 current_time()
2.3 current_timestamp()
2.4 date(datetime)
2.5 now()
2.6 date_add()
2.7 date_sub()
2.8 datediff()
2.9 案例
2.9.1 创建一个出生日期登记簿
2.9.2 创建一个留言版
3. 字符串函数
案例:
3.1 charset() 获取字符串的字符集
3.2 concat() 拼接两个字符串
3.3 instr(string, substring) 查找string是否出现substring
3.4 ucase(string)/lcase(string) 转换大写/小写
3.5 length(string) 可以查看占用的字节数
3.6 replace(str, replace_str, seach_str) 替换
3.7 substring(str, pos, length) 去字符串从pos位置(起始位置为1)开始,length长度
3.8 使用scott数据库emp表,以首字母小写的方式显示所有员工的姓名
4. 数学函数
5. 其他函数
user() 查询当前用户
database()查看当前使用的数据库
password()函数,MySQL数据库使用该函数对用户加密
ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
1. 整体学习的思维导图

2. 日期函数
2.1 current_date()
用于显示当前时间的年月日
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2024-11-19 |
+----------------+
1 row in set (0.00 sec)
2.2 current_time()
用于显示当前时间的时分秒
mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 20:17:15 |
+----------------+
1 row in set (0.00 sec)
2.3 current_timestamp()
用于显示当前时间的时间戳
mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2024-11-19 20:18:21 |
+---------------------+
1 row in set (0.00 sec)
2.4 date(datetime)
用于返回当前时间的参数的日期部分,也就是年月日
mysql> select date('1949-10-1 00:00:00') as 日期参数;
+--------------+
| 日期参数 |
+--------------+
| 1949-10-01 |
+--------------+
1 row in set (0.00 sec)
2.5 now()
返回当前时间,也可以配合前面的date()函数使用。
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2024-11-25 20:02:57 |
+---------------------+mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2024-11-25 |
+-------------+
2.6 date_add()
在日期的基础上加上日期
select date_add('日期', interval () '单位');
-
给当前时间加上10天,加上10小时,加上10分钟
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2024-11-25 20:07:14 |
+---------------------+mysql> select date_add(now(), interval 10 day);
+----------------------------------+
| date_add(now(), interval 10 day) |
+----------------------------------+
| 2024-12-05 20:06:52 |
+----------------------------------+mysql> select date_add(now(), interval 10 hour);
+-----------------------------------+
| date_add(now(), interval 10 hour) |
+-----------------------------------+
| 2024-11-26 06:07:34 |
+-----------------------------------+mysql> select date_add(now(), interval 10 minute);
+-------------------------------------+
| date_add(now(), interval 10 minute) |
+-------------------------------------+
| 2024-11-25 20:17:48 |
+-------------------------------------+
2.7 date_sub()
在日期的基础上减去日期
select date_add('日期', interval () '单位');
-
给当前时间减去10天,减去10小时,减去10分钟
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2024-11-25 20:09:22 |
+---------------------+mysql> select date_sub(now(), interval 10 day);
+----------------------------------+
| date_sub(now(), interval 10 day) |
+----------------------------------+
| 2024-11-15 20:09:33 |
+----------------------------------+mysql> select date_sub(now(), interval 10 hour);
+-----------------------------------+
| date_sub(now(), interval 10 hour) |
+-----------------------------------+
| 2024-11-25 10:09:38 |
+-----------------------------------+mysql> select date_sub(now(), interval 10 minute);
+-------------------------------------+
| date_sub(now(), interval 10 minute) |
+-------------------------------------+
| 2024-11-25 19:59:43 |
+-------------------------------------+
2.8 datediff()
算出两个日期相差多少天
mysql> select datediff(date(now()), '1949-10-1');
+------------------------------------+
| datediff(date(now()), '1949-10-1') |
+------------------------------------+
| 27449 |
+------------------------------------+
2.9 案例
2.9.1 创建一个出生日期登记簿
-
其中包含姓名,性别,出生日期
mysql> create table Date_Book(-> name varchar(20) comment '姓名',-> gender char(2) comment '性别',-> born date comment '出生日期'-> );mysql> insert into Date_Book(name, gender, born) values('欧阳', '男', current_date());mysql> select * from Date_Book where name='欧阳';
+--------+--------+------------+
| name | gender | born |
+--------+--------+------------+
| 欧阳 | 男 | 2024-11-25 |
+--------+--------+------------+
2.9.2 创建一个留言版
-
其中包含id,留言内容,留言时间
mysql> create table Talk_Book( -> id tinyint primary key auto_increment, -> content varchar(100) comment '留言内容', -> time datetime comment '留言时间' );mysql> insert into Talk_Book(content, time)
values('不知天上宫阙,今夕是何年', current_timestamp);mysql> insert into Talk_Book(content, time)
values('明月几时有, 把酒问青天', current_timestamp);mysql> insert into Talk_Book(content, time)
values('人生若只如初见,何事秋风悲画扇', current_timestamp);mysql> select * from Talk_Book;
+----+---------------------------------------------+---------------------+
| id | content | time |
+----+---------------------------------------------+---------------------+
| 1 | 不知天上宫阙,今夕是何年 | 2024-11-25 20:25:19 |
| 2 | 明月几时有, 把酒问青天 | 2024-11-25 20:26:03 |
| 3 | 人生若只如初见,何事秋风悲画扇 | 2024-11-25 20:26:37 |
+----+---------------------------------------------+---------------------+
3. 字符串函数

案例:
3.1 charset() 获取字符串的字符集
mysql> select charset(ename) from emp;
+----------------+
| charset(ename) |
+----------------+
| utf8 |
| utf8 |
| utf8 |
| utf8 |
| utf8 |
| utf8 |
+----------------+
3.2 concat() 拼接两个字符串
mysql> select concat(name,':','语文分数是', chinese,'分,', '数学分数是', math,'分,', '英语分数是', english, '分。') as 总分 from stu_SJ;
+------------------------------------------------------------------------------------+
| 总分 |
+------------------------------------------------------------------------------------+
| 唐三藏:语文分数是134分,数学分数是196分,英语分数是112分。 |
| 孙悟空:语文分数是120分,数学分数是200分,英语分数是79分。 |
| 猪悟能:语文分数是120分,数学分数是196分,英语分数是180分。 |
| 曹孟德:语文分数是140分,数学分数是180分,英语分数是134分。 |
| 刘玄德:语文分数是160分,数学分数是230分,英语分数是90分。 |
| 孙权:语文分数是140分,数学分数是146分,英语分数是156分。 |
| 宋公明:语文分数是150分,数学分数是190分,英语分数是60分。 |
+------------------------------------------------------------------------------------+
3.3 instr(string, substring) 查找string是否出现substring
-
如果出现返回出现的开始位置
-
没有出现返回0
mysql> select instr('Hello, World', 'World');
+--------------------------------+
| instr('Hello, World', 'World') |
+--------------------------------+
| 8 |
+--------------------------------+mysql> select instr('欧阳牛马', '牛马');
+---------------------------------+
| instr('欧阳牛马', '牛马') |
+---------------------------------+
| 3 |
+---------------------------------+
3.4 ucase(string)/lcase(string) 转换大写/小写
mysql> select ucase('hello,world');
+----------------------+
| ucase('hello,world') |
+----------------------+
| HELLO,WORLD |
+----------------------+mysql> select lcase('HELLO,WORLD');
+----------------------+
| lcase('HELLO,WORLD') |
+----------------------+
| hello,world |
+----------------------+
3.5 length(string) 可以查看占用的字节数
空格不算字符,字符串长度(空格不算字符串)。
mysql> select * from stu_SJ limit 3;
+----+-----------+---------+------+---------+
| id | name | chinese | math | english |
+----+-----------+---------+------+---------+
| 1 | 唐三藏 | 134 | 196 | 112 |
| 2 | 孙悟空 | 120 | 200 | 79 |
| 3 | 猪悟能 | 120 | 196 | 180 |
+----+-----------+---------+------+---------+mysql> select length(name) 名字长度 from stu_SJ limit 3;
+--------------+
| 名字长度 |
+--------------+
| 9 |
| 9 |
| 9 |
+--------------+
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)
3.6 replace(str, replace_str, seach_str) 替换
mysql> select * from stu_SJ;
+----+-----------+---------+------+---------+
| id | name | chinese | math | english |
+----+-----------+---------+------+---------+
| 1 | 唐三藏 | 134 | 196 | 112 |
| 2 | 孙悟空 | 120 | 200 | 79 |
| 3 | 猪悟能 | 120 | 196 | 180 |
| 4 | 曹孟德 | 140 | 180 | 134 |
| 5 | 刘玄德 | 160 | 230 | 90 |
| 6 | 孙权 | 140 | 146 | 156 |
| 7 | 宋公明 | 150 | 190 | 60 |
+----+-----------+---------+------+---------+-- 将name中所有的'悟'字替换为'无'mysql> select replace(name, '悟', '无') from stu_SJ;
+-----------------------------+
| replace(name, '悟', '无') |
+-----------------------------+
| 唐三藏 |
| 孙无空 |
| 猪无能 |
| 曹孟德 |
| 刘玄德 |
| 孙权 |
| 宋公明 |
+-----------------------------+
3.7 substring(str, pos, length) 去字符串从pos位置(起始位置为1)开始,length长度
mysql> select * from stu_SJ;
+----+-----------+---------+------+---------+
| id | name | chinese | math | english |
+----+-----------+---------+------+---------+
| 1 | 唐三藏 | 134 | 196 | 112 |
| 2 | 孙悟空 | 120 | 200 | 79 |
| 3 | 猪悟能 | 120 | 196 | 180 |
| 4 | 曹孟德 | 140 | 180 | 134 |
| 5 | 刘玄德 | 160 | 230 | 90 |
| 6 | 孙权 | 140 | 146 | 156 |
| 7 | 宋公明 | 150 | 190 | 60 |
+----+-----------+---------+------+---------+-- 截取表中name的前两个字符
mysql> select substring(name, 1, 2) from stu_SJ;
+-----------------------+
| substring(name, 1, 2) |
+-----------------------+
| 唐三 |
| 孙悟 |
| 猪悟 |
| 曹孟 |
| 刘玄 |
| 孙权 |
| 宋公 |
+-----------------------+
3.8 使用scott数据库emp表,以首字母小写的方式显示所有员工的姓名
mysql> select * from emp;
+--------+--------+-----------+------+---------------------+---------+---------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+--------+--------+-----------+------+---------------------+---------+---------+--------+
| 007369 | SMITH | CLERK | 7902 | 1980-12-17 00:00:00 | 800.00 | NULL | 20 |
| 007499 | ALLEN | SALESMAN | 7698 | 1981-02-20 00:00:00 | 1600.00 | 300.00 | 30 |
| 007521 | WARD | SALESMAN | 7698 | 1981-02-22 00:00:00 | 1250.00 | 500.00 | 30 |
| 007566 | JONES | MANAGER | 7839 | 1981-04-02 00:00:00 | 2975.00 | NULL | 20 |
| 007654 | MARTIN | SALESMAN | 7698 | 1981-09-28 00:00:00 | 1250.00 | 1400.00 | 30 |
| 007698 | BLAKE | MANAGER | 7839 | 1981-05-01 00:00:00 | 2850.00 | NULL | 30 |
| 007782 | CLARK | MANAGER | 7839 | 1981-06-09 00:00:00 | 2450.00 | NULL | 10 |
| 007788 | SCOTT | ANALYST | 7566 | 1987-04-19 00:00:00 | 3000.00 | NULL | 20 |
| 007839 | KING | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000.00 | NULL | 10 |
| 007844 | TURNER | SALESMAN | 7698 | 1981-09-08 00:00:00 | 1500.00 | 0.00 | 30 |
| 007876 | ADAMS | CLERK | 7788 | 1987-05-23 00:00:00 | 1100.00 | NULL | 20 |
| 007900 | JAMES | CLERK | 7698 | 1981-12-03 00:00:00 | 950.00 | NULL | 30 |
| 007902 | FORD | ANALYST | 7566 | 1981-12-03 00:00:00 | 3000.00 | NULL | 20 |
| 007934 | MILLER | CLERK | 7782 | 1982-01-23 00:00:00 | 1300.00 | NULL | 10 |
+--------+--------+-----------+------+---------------------+---------+---------+--------+mysql> select concat(lcase(substring(ename,1,1)), substring(ename,2)) 姓名 from emp;
+--------+
| 姓名 |
+--------+
| sMITH |
| aLLEN |
| wARD |
| jONES |
| mARTIN |
| bLAKE |
| cLARK |
| sCOTT |
| kING |
| tURNER |
| aDAMS |
| jAMES |
| fORD |
| mILLER |
+--------+
4. 数学函数
-- 绝对值
mysql> select abs(-10);
+----------+
| abs(-10) |
+----------+
| 10 |
+----------+mysql> select abs(10);
+---------+
| abs(10) |
+---------+
| 10 |
+---------+-- 向上取整,取比当前大的一方整数
mysql> select ceiling(27.01);
+----------------+
| ceiling(27.01) |
+----------------+
| 28 |
+----------------+
mysql> select ceiling(-27.01);
+-----------------+
| ceiling(-27.01) |
+-----------------+
| -27 |
+-----------------+-- 向下取整,取比当前小的一方整数
mysql> select floor(27.01);
+--------------+
| floor(27.01) |
+--------------+
| 27 |
+--------------+mysql> select floor(-27.01);
+---------------+
| floor(-27.01) |
+---------------+
| -28 |
+---------------+-- format 保留小数位
mysql> select format(3.1415926, 2);
+----------------------+
| format(3.1415926, 2) |
+----------------------+
| 3.14 |
+----------------------+mysql> select format(3.1415926, 3);
+----------------------+
| format(3.1415926, 3) |
+----------------------+
| 3.142 |
+----------------------+
5. 其他函数
user() 查询当前用户
mysql> select user();
+--------+
| user() |
+--------+
| root@ |
+--------+
database()查看当前使用的数据库
mysql> select database();
+------------+
| database() |
+------------+
| scott |
+------------+
password()函数,MySQL数据库使用该函数对用户加密
mysql> select password('root');
+-------------------------------------------+
| password('root') |
+-------------------------------------------+
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-------------------------------------------+
ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
mysql> select * from emp;
+--------+--------+-----------+------+---------------------+---------+---------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+--------+--------+-----------+------+---------------------+---------+---------+--------+
| 007369 | SMITH | CLERK | 7902 | 1980-12-17 00:00:00 | 800.00 | NULL | 20 |
| 007499 | ALLEN | SALESMAN | 7698 | 1981-02-20 00:00:00 | 1600.00 | 300.00 | 30 |
| 007521 | WARD | SALESMAN | 7698 | 1981-02-22 00:00:00 | 1250.00 | 500.00 | 30 |
| 007566 | JONES | MANAGER | 7839 | 1981-04-02 00:00:00 | 2975.00 | NULL | 20 |
| 007654 | MARTIN | SALESMAN | 7698 | 1981-09-28 00:00:00 | 1250.00 | 1400.00 | 30 |
| 007698 | BLAKE | MANAGER | 7839 | 1981-05-01 00:00:00 | 2850.00 | NULL | 30 |
| 007782 | CLARK | MANAGER | 7839 | 1981-06-09 00:00:00 | 2450.00 | NULL | 10 |
| 007788 | SCOTT | ANALYST | 7566 | 1987-04-19 00:00:00 | 3000.00 | NULL | 20 |
| 007839 | KING | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000.00 | NULL | 10 |
| 007844 | TURNER | SALESMAN | 7698 | 1981-09-08 00:00:00 | 1500.00 | 0.00 | 30 |
| 007876 | ADAMS | CLERK | 7788 | 1987-05-23 00:00:00 | 1100.00 | NULL | 20 |
| 007900 | JAMES | CLERK | 7698 | 1981-12-03 00:00:00 | 950.00 | NULL | 30 |
| 007902 | FORD | ANALYST | 7566 | 1981-12-03 00:00:00 | 3000.00 | NULL | 20 |
| 007934 | MILLER | CLERK | 7782 | 1982-01-23 00:00:00 | 1300.00 | NULL | 10 |
+--------+--------+-----------+------+---------------------+---------+---------+--------+-- 判断comm是否为NULL,如果是NULL显示0,不为NULL显示原本的数字
mysql> select ifnull(comm, 0) 奖金 from emp;
+---------+
| 奖金 |
+---------+
| 0.00 |
| 300.00 |
| 500.00 |
| 0.00 |
| 1400.00 |
| 0.00 |
| 0.00 |
| 0.00 |
| 0.00 |
| 0.00 |
| 0.00 |
| 0.00 |
| 0.00 |
| 0.00 |
+---------+相关文章:
【MySQL-5】MySQL的内置函数
目录 1. 整体学习的思维导图 2. 日期函数 编辑 2.1 current_date() 2.2 current_time() 2.3 current_timestamp() 2.4 date(datetime) 2.5 now() 2.6 date_add() 2.7 date_sub() 2.8 datediff() 2.9 案例 2.9.1 创建一个出生日期登记簿 2.9.2 创建一个留言版 3…...
深度学习笔记之BERT(三)RoBERTa
深度学习笔记之RoBERTa 引言回顾:BERT的预训练策略RoBERTa训练过程分析静态掩码与动态掩码的比较模型输入模式与下一句预测使用大批量进行训练使用Byte-pair Encoding作为子词词元化算法更大的数据集和更多的训练步骤 RoBERTa配置 引言 本节将介绍一种基于 BERT \t…...
C++知识点总结(59):背包型动态规划
背包型动态规划 一、背包 dp1. 01 背包(限量)2. 完全背包(不限量)3. 口诀 二、例题1. 和是质数的子集数2. 黄金的太阳3. 负数子集和4. NASA的⻝物计划 一、背包 dp 1. 01 背包(限量) 假如有这几个物品&am…...
C++:反向迭代器的实现
反向迭代器的实现与 stack 、queue 相似,是通过适配器模式实现的。通过传入不同类型的迭代器来实现其反向迭代器。 正向迭代器中,begin() 指向第一个位置,end() 指向最后一个位置的下一个位置。 代码实现: template<class I…...
webGL入门教程_04vec3、vec4 和齐次坐标总结
vec3、vec4 和齐次坐标总结 1. vec3 和 vec4 1.1 什么是 vec3 和 vec4? vec3: GLSL 中的三维向量类型,包含 3 个浮点数:(x, y, z)。常用于表示三维坐标、RGB 颜色、法线、方向等。 vec4: GLSL 中的四维向量类型&…...
uniapp中父组件数组更新后与页面渲染数组不一致实战记录
简单描述一下业务场景方便理解: 商品设置功能,支持添加多组商品(点击添加按钮进行增加).可以对任意商品进行删除(点击减少按钮对选中的商品设置进行删除). 问题: 正常添加操作后,对已添加的任意商品删除后,控制台打印数组正常.但是与页面显示不一致.已上图为例,选中尾…...
优化 Conda 下载速度:详细的代理配置和网络管理策略
优化 Conda 下载速度:详细的代理配置和网络管理策略 为了彻底解决使用 Conda 下载 PyTorch 时遇到的速度问题,并确保下载过程稳定可靠,这需要一个详细、综合的技术方案。让我们更深入地分析问题原因,然后详尽地解释采取的解决策略…...
服务器遭受DDoS攻击后如何恢复运行?
当服务器遭受 DDoS(分布式拒绝服务)攻击 后,恢复运行需要快速采取应急措施来缓解攻击影响,并在恢复后加强防护以减少未来攻击的风险。以下是详细的分步指南: 一、应急处理步骤 1. 确认服务器是否正在遭受 DDoS 攻击 …...
MFC音视频播放器-支持电子放大等功能
前言 本播放器在VS2019下开发,使用ffmpegD3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式,电子放大功能是在D3D Texture方式下进行实现。以下…...
c语言编程1.17蓝桥杯历届试题-回文数字
题目描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之…...
el-table 纵向 横向 多级表头
<el-table :data"tableData" class"diaTable":span-method"handleSpanMethod"border:header-cell-style"{background:#292929,color:#fff}"><!-- 纵向表头 --><el-table-column label"纵向表头" width"…...
uniapp开发微信小程序笔记8-uniapp使用vant框架
前言:其实用uni-app开发微信小程序的首选不应该是vant,因为vant没有专门给uni-app设置专栏,可以看到目前Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 但是vant的优…...
分布式项目使用Redis实现数据库对象自增主键ID
hello。大家好,我是灰小猿,一个超会写bug的程序猿! 在分布式项目中,数据表的主键ID一般可能存在于UUID或自增ID这两种形式,UUID好理解而且实现起来也最容易,但是缺点就是数据表中的主键ID是32位的字符串&a…...
npm-运行项目报错:A complete log of this run can be found .......npm-cache_logs\
1.问题 没有找到对应的某种依赖,node_modules出现问题。 2.解决 (1)查看对应依赖是否引入或者是由于合并分支错误 引入js或依赖不存在。谨慎删除依赖包 (2)查找对应引入依赖进行安装最后解决方法-删除依赖包清除缓存 npm cache clean --force (2)重新向同事引入…...
SolarCube: 高分辨率太阳辐照预测基准数据集
太阳能作为清洁能源在减缓气候变化中的作用日益凸显,其稳定的供应对电网管理至关重要。然而,太阳辐照受云层和天气变化的影响波动较大,给光伏电力的管理带来挑战,尤其是在调度、储能和备用系统管理方面。因此,精确的太…...
华为小米苹果三星移动设备访问windows共享文件夹windows11
如果移动设备和windows电脑都在同一个局域网内,可以用移动设备访问windows11的共享文件夹 1、设置共享文件夹 2、添加everyone用户即可 3、查看ip地址 4、在华为手机上点击文件管理,里面有个网上邻居 5、正常情况下,华为手机会扫描到同一局域…...
网络安全三防指南:只防病毒不安全
5月17日,瑞星全球反病毒监测网截获一个恶性病毒,由于该病毒的破坏能力和当年著名的CIH病毒几乎完全一样,因此瑞星将该病毒命名为“新CIH”病毒。被“新CIH”感染的电脑,主板和硬盘数据将被破坏,致使电脑无法启动&#…...
论文概览 |《Urban Analytics and City Science》2023.05 Vol.50 Issue.4
本次给大家整理的是《Environment and Planning B: Urban Analytics and City Science》杂志2023年5月第50卷第4期的论文的题目和摘要,一共包括19篇SCI论文! 论文1 Data analytics and sustainable urban development in global cities 全球城市的数据…...
【ROS2】ROS2 C++版本 与 Python版本比较
ROS 系列学习教程(总目录) ROS2 系列学习教程(总目录) 目录 一、功能包的构建方式二、功能包组织结构三、代码编写四、性能与效率五、兼容性六、应用场景 目前ROS开发主要使用 C 和 Python 语言,这里会分别实现并讲解。 相较于ROS1,ROS2的 C 和 Python …...
物联网射频识别和RFID开发(一):RFID基础—概念、应用
一、RFID的发展历史 二、RFID与物联网 (一)物联网与RFID的关系 物联网的基本思想是美国麻省理工学院在1999年提出的,其核心思想是为全球每个物品提供唯一的电子标识符。这种电子标识符就是现在经常提到的“电子产品编码(Electronic Product …...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
