第一部分:基础知识 6. 函数 --[MySQL轻松入门教程]
MySQL 提供了丰富的内置函数,涵盖了字符串处理、数值计算、日期时间操作、聚合分析以及控制流等多个方面。这些函数可以帮助用户更高效地进行数据查询和处理。
1.字符串函数
MySQL 提供了丰富的字符串函数来帮助用户处理和操作字符串数据。下面是一些常用的 MySQL 字符串函数及其简要说明:
-
CONCAT(str1, str2, ...)
- 将多个字符串连接成一个字符串。
- 示例:
SELECT CONCAT('Hello', ' ', 'World') AS greeting;
-
CONCAT_WS(separator, str1, str2, ...)
- 使用指定的分隔符将多个字符串连接起来。
- 示例:
SELECT CONCAT_WS(', ', 'Apple', 'Banana', 'Orange');
-
INSERT(str, pos, len, newstr)
- 在给定位置开始,用
newstr
替换str
中长度为len
的子串。 - 示例:
SELECT INSERT('abcdefg', 2, 3, 'xyz');
- 在给定位置开始,用
-
LOWER(str)
或LCASE(str)
- 将字符串转换为小写。
- 示例:
SELECT LOWER('HELLO WORLD');
-
UPPER(str)
或UCASE(str)
- 将字符串转换为大写。
- 示例:
SELECT UPPER('hello world');
-
LEFT(str, len)
- 返回字符串最左边的
len
个字符。 - 示例:
SELECT LEFT('hello', 2);
- 返回字符串最左边的
-
RIGHT(str, len)
- 返回字符串最右边的
len
个字符。 - 示例:
SELECT RIGHT('hello', 3);
- 返回字符串最右边的
-
SUBSTRING(str, pos, len)
或SUBSTR(str, pos, len)
- 从位置
pos
开始提取长度为len
的子串。 - 示例:
SELECT SUBSTRING('hello', 2, 3);
- 从位置
-
REPLACE(str, from_str, to_str)
- 将字符串
str
中的所有from_str
替换为to_str
。 - 示例:
SELECT REPLACE('www.mysql.com', 'w', 'Ww');
- 将字符串
-
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
- 移除字符串开头、结尾或两边的指定字符(默认为空格)。
- 示例:
SELECT TRIM(' hello ');
-
REVERSE(str)
- 反转字符串。
- 示例:
SELECT REVERSE('hello');
-
LENGTH(str)
- 返回字符串的字节长度。
- 示例:
SELECT LENGTH('你好');
(注意中文字符在某些字符集下可能占多字节)
-
CHAR_LENGTH(str)
- 返回字符串的字符数。
- 示例:
SELECT CHAR_LENGTH('你好');
-
LOCATE(substr, str[, pos])
或POSITION(substr IN str)
- 返回子串
substr
在字符串str
中第一次出现的位置。 - 示例:
SELECT LOCATE('bar', 'foobarbar');
- 返回子串
-
INSTR(str, substr)
- 返回子串
substr
在字符串str
中第一次出现的位置。 - 示例:
SELECT INSTR('foobarbar', 'bar');
- 返回子串
这些函数可以帮助你执行各种字符串处理任务,如文本格式化、搜索、替换等。根据你的具体需求,选择合适的函数可以极大地简化查询和数据处理工作。
2.数值函数
MySQL 提供了一系列数值函数,用于执行数学计算和处理数值数据。以下是一些常用的 MySQL 数值函数及其简要说明:
-
ABS(X)
- 返回
X
的绝对值。 - 示例:
SELECT ABS(-32);
- 返回
-
CEIL(X)
或CEILING(X)
- 返回不小于
X
的最小整数值。 - 示例:
SELECT CEIL(1.23);
- 返回不小于
-
FLOOR(X)
- 返回不大于
X
的最大整数值。 - 示例:
SELECT FLOOR(1.89);
- 返回不大于
-
ROUND(X[, D])
- 返回参数
X
四舍五入后的值,可选参数D
指定保留的小数位数。 - 示例:
SELECT ROUND(1.298, 1);
- 返回参数
-
TRUNCATE(X, D)
- 返回数字
X
截断为D
小数位的结果。如果D
是负数,则截断(归零)在小数点左侧。 - 示例:
SELECT TRUNCATE(1.999, 1);
- 返回数字
-
MOD(N, M)
或者使用%
运算符- 返回
N
被M
除后的余数。 - 示例:
SELECT MOD(29, 3);
或SELECT 29 % 3;
- 返回
-
POW(X, Y)
或POWER(X, Y)
- 返回
X
的Y
次幂。 - 示例:
SELECT POW(2, 3);
- 返回
-
SQRT(X)
- 返回非负数
X
的平方根。 - 示例:
SELECT SQRT(16);
- 返回非负数
-
RAND()
和RAND(N)
- 返回一个0到1之间的随机浮点值。
RAND(N)
使用N
作为种子值。 - 示例:
SELECT RAND();
- 返回一个0到1之间的随机浮点值。
-
SIGN(X)
- 返回参数
X
的符号,-1、0 或 1(负数、零或正数)。 - 示例:
SELECT SIGN(-320);
- 返回参数
-
CONV(N, from_base, to_base)
- 在不同数制之间转换数字
N
。from_base
和to_base
是基数,范围是2到36。 - 示例:
SELECT CONV('A', 16, 10);
(将十六进制的 ‘A’ 转换为十进制)
- 在不同数制之间转换数字
-
PI()
- 返回圆周率 π 的值。
- 示例:
SELECT PI();
-
EXP(X)
- 返回 e 的
X
次幂 (e^X)。 - 示例:
SELECT EXP(1);
- 返回 e 的
-
LOG(B, X)
或LOG(X)
- 如果指定两个参数,则返回以
B
为底X
的对数;如果只有一个参数,则返回自然对数。 - 示例:
SELECT LOG(2, 8);
- 如果指定两个参数,则返回以
-
LOG2(X)
- 返回
X
的以2为底的对数。 - 示例:
SELECT LOG2(8);
- 返回
-
LOG10(X)
- 返回
X
的以10为底的对数。 - 示例:
SELECT LOG10(100);
- 返回
这些数值函数可以用来执行各种数学运算,从简单的四则运算到更复杂的数学问题求解。根据你的具体需求选择适当的函数可以帮助你有效地进行数值数据的处理和分析。
3.日期和时间函数
MySQL 提供了多种日期和时间函数,用于处理日期时间数据。以下是一些常用的 MySQL 日期和时间函数及其简要说明:
-
NOW()
或CURRENT_TIMESTAMP
- 返回当前的日期和时间。
- 示例:
SELECT NOW();
-
CURDATE()
或CURRENT_DATE
- 返回当前日期。
- 示例:
SELECT CURDATE();
-
CURTIME()
或CURRENT_TIME
- 返回当前时间。
- 示例:
SELECT CURTIME();
-
DATE(expr)
- 提取日期部分。
- 示例:
SELECT DATE('2024-06-15 09:30:25');
-
TIME(expr)
- 提取时间部分。
- 示例:
SELECT TIME('2024-06-15 09:30:25');
-
YEAR(date)
,MONTH(date)
,DAY(date)
等- 分别提取给定日期中的年份、月份、日等。
- 示例:
SELECT YEAR('2024-06-15'), MONTH('2024-06-15'), DAY('2024-06-15');
-
HOUR(time)
,MINUTE(time)
,SECOND(time)
等- 分别提取给定时间中的小时、分钟、秒等。
- 示例:
SELECT HOUR('09:30:25'), MINUTE('09:30:25'), SECOND('09:30:25');
-
DATEDIFF(expr1, expr2)
- 计算两个日期之间的天数差。
- 示例:
SELECT DATEDIFF('2024-06-15', '2024-06-01');
-
TIMEDIFF(expr1, expr2)
- 计算两个时间值或日期时间值之间的时间差。
- 示例:
SELECT TIMEDIFF('10:05:30', '09:00:00');
-
ADDDATE(date, INTERVAL expr unit)
和DATE_ADD(date, INTERVAL expr unit)
- 向日期添加指定的时间间隔。
- 示例:
SELECT ADDDATE('2024-06-15', INTERVAL 10 DAY);
-
SUBDATE(date, INTERVAL expr unit)
和DATE_SUB(date, INTERVAL expr unit)
- 从日期减去指定的时间间隔。
- 示例:
SELECT SUBDATE('2024-06-15', INTERVAL 10 DAY);
-
STR_TO_DATE(str, format)
- 按照指定格式将字符串转换为日期。
- 示例:
SELECT STR_TO_DATE('15/06/2024', '%d/%m/%Y');
-
DATE_FORMAT(date, format)
- 根据指定的格式格式化日期或时间值。
- 示例:
SELECT DATE_FORMAT('2024-06-15 09:30:25', '%W %M %Y');
-
UNIX_TIMESTAMP([date])
和FROM_UNIXTIME(unix_timestamp[, format])
UNIX_TIMESTAMP
将日期时间转换为 Unix 时间戳(自1970-01-01以来的秒数),而FROM_UNIXTIME
则是反向操作。- 示例:
SELECT UNIX_TIMESTAMP('2024-06-15 09:30:25');
- 示例:
SELECT FROM_UNIXTIME(1718676625, '%Y-%m-%d %H:%i:%s');
-
PERIOD_ADD(P, N)
和PERIOD_DIFF(P1, P2)
PERIOD_ADD
向表示为YYMM或YYYYMM的时期P
添加N
个月。PERIOD_DIFF
计算两个表示为YYMM或YYYYMM的时期之间的月份数差异。- 示例:
SELECT PERIOD_ADD(202406, 5);
- 示例:
SELECT PERIOD_DIFF(202406, 202306);
这些日期和时间函数可以帮助你执行各种与时间相关的计算和操作,如日期间的计算、日期格式化、日期时间的增减等。根据你的具体需求选择适当的函数可以让你更高效地处理日期时间数据。
4.聚合函数
MySQL 提供了多种聚合函数,用于对数据集进行统计分析。这些函数可以用来计算一组值的总和、平均数、计数等。以下是 MySQL 中常用的聚合函数及其简要说明:
-
COUNT([DISTINCT] expr)
- 计算行数或非空表达式的数量。
COUNT(*)
计算所有行的数量,包括NULL值。COUNT(expr)
计算expr
非NULL结果的数量。COUNT(DISTINCT expr)
计算expr
不同非NULL结果的数量。- 示例:
SELECT COUNT(*) FROM orders;
- 示例:
SELECT COUNT(order_id) FROM orders;
- 示例:
SELECT COUNT(DISTINCT customer_id) FROM orders;
-
SUM([DISTINCT] expr)
- 返回给定列中所有数值的总和。
- 如果列中有NULL,则忽略它们。
DISTINCT
可选参数确保只考虑不同的值。- 示例:
SELECT SUM(amount) FROM sales;
- 示例:
SELECT SUM(DISTINCT amount) FROM sales;
-
AVG([DISTINCT] expr)
- 返回给定列中所有数值的平均值。
- 忽略NULL值。
DISTINCT
可选参数确保只考虑不同的值。- 示例:
SELECT AVG(price) FROM products;
- 示例:
SELECT AVG(DISTINCT price) FROM products;
-
MAX([DISTINCT] expr)
- 返回给定列中的最大值。
- 对于字符类型,它返回按字母顺序最后的值。
DISTINCT
参数是可选的,并且通常不使用,因为它不影响结果。- 示例:
SELECT MAX(salary) FROM employees;
-
MIN([DISTINCT] expr)
- 返回给定列中的最小值。
- 对于字符类型,它返回按字母顺序最先的值。
DISTINCT
参数是可选的,并且通常不使用,因为它不影响结果。- 示例:
SELECT MIN(salary) FROM employees;
-
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])
- 将多行字符串连接成一个字符串结果,常用于分组查询。
- 可以指定排序和分隔符。
- 示例:
SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM users GROUP BY department;
-
BIT_AND(expr)
- 返回给定集合中所有位的按位与操作的结果。
- 示例:
SELECT BIT_AND(flags) FROM settings;
-
BIT_OR(expr)
- 返回给定集合中所有位的按位或操作的结果。
- 示例:
SELECT BIT_OR(flags) FROM settings;
-
BIT_XOR(expr)
- 返回给定集合中所有位的按位异或操作的结果。
- 示例:
SELECT BIT_XOR(flags) FROM settings;
-
STDDEV_POP(expr)
和STDDEV_SAMP(expr)
- 分别计算总体标准差(
STDDEV_POP
)和样本标准差(STDDEV_SAMP
)。 - 示例:
SELECT STDDEV_POP(score) FROM students;
- 分别计算总体标准差(
-
VAR_POP(expr)
和VAR_SAMP(expr)
- 分别计算总体方差(
VAR_POP
)和样本方差(VAR_SAMP
)。 - 示例:
SELECT VAR_SAMP(score) FROM students;
- 分别计算总体方差(
这些聚合函数通常与 GROUP BY
语句一起使用,以便对数据进行分组并为每个组计算汇总信息。通过组合使用这些函数,你可以执行复杂的数据分析任务,从简单的统计到更高级的数据挖掘。
5.控制流函数
MySQL 提供了一些控制流函数,这些函数允许你在 SQL 查询中实现条件逻辑。这使得你可以根据不同的条件执行不同的操作或返回不同的结果。以下是 MySQL 中常用的控制流函数及其简要说明:
-
IF(expr, true_val, false_val)
- 如果
expr
为真(非零且非NULL),则返回true_val
;否则返回false_val
。 - 示例:
SELECT IF(1 > 2, 'Yes', 'No');
- 如果
-
CASE
表达式-
CASE
可以有两种形式:-
简单
CASE
:将表达式与多个值进行比较。CASE exprWHEN val1 THEN result1[WHEN val2 THEN result2 ...][ELSE else_result] END
-
搜索
CASE
:检查多个条件。CASEWHEN condition1 THEN result1[WHEN condition2 THEN result2 ...][ELSE else_result] END
-
-
示例:
SELECT CASE WHEN age < 18 THEN 'Minor' ELSE 'Adult' END AS status FROM persons;
-
-
IFNULL(expr1, expr2)
- 如果
expr1
不是 NULL,则返回expr1
;否则返回expr2
。 - 示例:
SELECT IFNULL(NULL, 'Default Value');
- 如果
-
NULLIF(expr1, expr2)
- 如果
expr1 = expr2
,则返回 NULL;否则返回expr1
。 - 这个函数对于防止除以0错误等情况非常有用。
- 示例:
SELECT NULLIF(1, 1);
返回 NULL。
- 如果
-
COALESCE(expr1, expr2, ..., exprN)
- 返回第一个非 NULL 的表达式的值。如果所有参数都是 NULL,则返回 NULL。
- 示例:
SELECT COALESCE(NULL, NULL, 'Third Value', 'Fourth Value');
-
ELT(N, str1, str2, ...)
- 返回给定索引
N
对应的字符串。如果N
是 1,则返回str1
,依此类推。 - 示例:
SELECT ELT(2, 'apple', 'banana', 'orange');
返回 ‘banana’。
- 返回给定索引
-
FIELD(str, str1, str2, ...)
- 返回
str
在列表中的位置。如果没有找到,则返回 0。 - 示例:
SELECT FIELD('banana', 'apple', 'banana', 'orange');
返回 2。
- 返回
-
GREATEST(val1, val2, ...)
和LEAST(val1, val2, ...)
- 分别返回输入值中的最大值和最小值。
- 示例:
SELECT GREATEST(1, 2, 3);
返回 3。 - 示例:
SELECT LEAST(1, 2, 3);
返回 1。
这些控制流函数可以在查询中用来创建更复杂的逻辑判断,并且可以根据数据的具体情况来决定返回什么样的结果。它们经常用于 SELECT 查询、触发器和存储过程中,以便于处理复杂的数据逻辑和业务规则。
相关文章:

第一部分:基础知识 6. 函数 --[MySQL轻松入门教程]
MySQL 提供了丰富的内置函数,涵盖了字符串处理、数值计算、日期时间操作、聚合分析以及控制流等多个方面。这些函数可以帮助用户更高效地进行数据查询和处理。 1.字符串函数 MySQL 提供了丰富的字符串函数来帮助用户处理和操作字符串数据。下面是一些常用的 MySQL…...

【蓝桥杯每日一题】扫雷
扫雷 知识点 2024-12-3 蓝桥杯每日一题 扫雷 dfs (bfs也是可行的) 题目大意 在一个二维平面上放置这N个炸雷,每个炸雷的信息有$(x_i,y_i,r_i) $,前两个是坐标信息,第三个是爆炸半径。然后会输入M个排雷火箭࿰…...

【算法】棋盘覆盖问题源代码及精简版
目录 一、题目 二、样例 三、示例代码 四、精简代码 五、总结 对于棋盘覆盖问题的解答和优化。 一、题目 输入格式: 第一行,一个整数n(棋盘n*n,n确保是2的幂次,n<64) 第二行,两个整数…...

Django的介绍
Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。Django遵循MVC设计模式,即模型(Model)、视图(View)和控制器(Controller),并提供了一个即时可用的…...

【Spring工具插件】lombok使用和EditStarter插件
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 引入 一:lombok介绍 1:引入依赖 2:使用 3:原理 4&…...

掌控时间,成就更好的自己
在个人成长的道路上,时间管理是至关重要的一环。有效的时间管理能够让我们更加高效地完成任务,实现自己的目标,不断提升自我。 时间对每个人都是公平的,一天只有 24 小时。然而,为什么有些人能够在有限的时间里做出卓…...

Ruby On Rails 笔记2——表的基本知识
Active Record Basics — Ruby on Rails Guides Active Record Migrations — Ruby on Rails Guides 原文链接自取 1.Active Record是什么? Active Record是MVC模式中M的一部分,是负责展示数据和业务逻辑的一层,可以帮助你创建和使用Ruby…...

【AI系统】EfficientNet 系列
EfficientNet 系列 本文主要介绍 EffiicientNet 系列,在之前的文章中,一般都是单独增加图像分辨率或增加网络深度或单独增加网络的宽度,来提高网络的准确率。而在 EfficientNet 系列论文中,会介绍使用网络搜索技术(NAS)去同时探索…...

【Python小白|Python内置函数学习2】Python有哪些内置函数?不需要导入任何模块就可以直接使用的!现在用Python写代码的人还多吗?
【Python小白|Python内置函数学习2】Python有哪些内置函数?不需要导入任何模块就可以直接使用的!现在用Python写代码的人还多吗? 【Python小白|Python内置函数学习2】Python有哪些内置函数?不需要导入任何模块就可以直接使用的&a…...

蓝桥杯分治
P1226 【模板】快速幂 题目描述 给你三个整数 𝑎,𝑏,𝑝a,b,p,求 𝑎𝑏 mod 𝑝abmodp。 输入格式 输入只有一行三个整数,分别代表 𝑎,𝑏,𝑝a,b,p。…...

YOLOv8实战无人机视角目标检测
本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化,该数据集包含丰富的无人机目标图像…...

三、【docker】docker和docker-compose的常用命令
文章目录 一、docker常用命令1、镜像管理2、容器管理3、容器监控和调试4、网络管理5、数据卷管理6、系统维护7、实用组合命令8、常用技巧二、docker-compose常用命令1、基本命令2、构建相关3、运行维护4、常用组合命令5、实用参数 一、docker常用命令 1、镜像管理 # 查看本地…...

Qt 2D绘图之五:图形视图框架的结构、坐标系统和框架间的事件处理与传播
参考文章链接: Qt 2D绘图之五:图形视图框架的结构和坐标系统 Qt 2D绘图之六:图形视图框架的事件处理与传播 图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们。但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动、…...

基于SpringBoot+Vue的美妆购物网站
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

MySQL之创建和管理表
目录 1. MySQL中的数据类型编辑编辑 2. 创建和管理数据库 方式1:创建数据库 方式2:创建数据库并指定字符集 方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐 ) 总结 2.2 使用数据库 查看当…...

肌肉骨骼肿瘤治疗市场:潜力无限,未来可期
肌肉骨骼肿瘤治疗作为现代医学的重要分支,专注于应对骨骼和肌肉系统中的良性和恶性肿瘤。随着全球人口老龄化和生活方式的改变,肌肉骨骼疾病日益成为公共卫生的重要问题。与此同时,医疗技术的进步和患者对高质量医疗服务的需求不断推动该市场…...

QGIS 创建三维渲染动画
打开数据包中的denali工程文档,可以看到DEM图层和山体阴影图层。首先创建彩色的山体阴影效果: 接下来新建3D视图: 配置三维地图 配置后,可用鼠标中键、右侧的操作盘等进行三维旋转等操作。 接下来在三维地图中创建动画效果&#x…...

Vue生成类似于打卡页面
数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…...

软件工程——期末复习(2)
Part1:软件工程基本概念 软件程序文档数据 在软件工程中,软件通常被定为程序、文档和数据的集合。程序是按事先设计的功能和性能要求编写的指令序列;程序是完成指定功能的一段特定语言代码。文档是描述程序操作和使用的文档,是与…...

vxe-table 键盘操作,设置按键编辑方式,支持覆盖方式与追加方式
vxe-table 全键盘操作,按键编辑方式设置,覆盖方式与追加方式; 通过 keyboard-config.editMode 设置按键编辑方式;支持覆盖方式编辑和追加方式编辑 安装 npm install vxe-pc-ui4.3.15 vxe-table4.9.15// ... import VxeUI from v…...

【BUG】VMware|vmrest正在运行此虚拟机,无法配置或删除快照
VMware版本:VMware 16 文章目录 省流版问题解决方案 详细解释版问题解决方案总结 省流版 问题 只读,因为vmrest正在运行虚拟机。 解决方案 参考:虚拟机设置,只读,因为vmrest正在运行此虚拟机。有谁遇到过这种问题吗&…...

STM32 串口和I2C结合案例:
需求 1. 电脑通过串口 给单机 下发点灯计划 例如 13322 单片机上的灯 LED1 亮1秒 灭1秒 LED3 亮1秒 灭1秒 LED3 亮一秒 灭1秒 133221332213322-> mian.c #include "usart1.h" #include "M24C02.h" #include "stdio.h" #include "le…...

QT6_UI设计——设置表格
环境:qt6.8 1、放置 双击 2行 、列 设置 3、设置表格内容 读取表格内容 uint16 get_table_value_16_cmd(int row,int column) {if(column<1)return 0;QTableWidgetItem *itemnew QTableWidgetItem;itemui1->tableWidget_2->item(row,column);if(item! nul…...

游戏使用辅助工具修改器检测不到游戏进程应该如何解决?多种解决方法分享
当您在使用游戏辅助工具或修改器时遇到“未检测到游戏进程”的提示,这通常意味着修改器未能正确识别并连接到游戏的运行实例。以下是一些可能的解决方案: 1. 确保游戏已启动:•确认游戏已经完全启动并且正在运行中。有时游戏可能还在加载界面…...

Java JVM(内存结构,垃圾回收,类加载,内存模型)
一、JVM 主要功能 1. 什么是 jvm? JVM(Java Virtual Machine):负责运行 Java 程序的核心组件。它将 Java 字节码(.class 文件)解释或编译为机器代码,并提供内存管理、垃圾回收和线程管理等功能。 JRE (J…...

C++设计模式(桥接、享元、外观、状态)
一、桥接模式 1.定义 将抽象部分与它的实现部分分离,使它们可以独立地变化。 桥接模式通过使用组合关系而不是继承关系来实现解耦,从而提高系统的灵活性和可扩展性。 2.组成 抽象:定义抽象部分的接口,包含一个指向实现类的对象…...

鸿蒙 DevEco Studio 设置状态栏,调用setWindowSystemBarProperties不生效
参考文章:设置状态栏,调用setWindowSystemBarProperties不生效 我使用 setWindowSystemBarProperties 设置状态栏,不生效。 import window from ohos.window;export default {data: {title: World},setSystemBar() {var windowClass null;…...

Spring03——基于xml的Spring应用
Spring开发中主要对Bean的配置 Bean的常用配置一览如下: Xml配置方式功能描述<bean id"" class"">Bean的id和全限定名配置<bean name"">通过name设置Bean的别名,通过别名也能直接获取到Bean实例<bean sc…...

【AIGC半月报】AIGC大模型启元:2024.12(上)
【AIGC半月报】AIGC大模型启元:2024.12(上) (1)OpenAI-12日发布会(持续更新中........)Day01-12.06:SoraDay02-12.07:ChatGPT圣诞老人风格的语音Day03-12.08:…...

本etcd系列文章补充说明
最开始今年四月份读的是etcdv3.6的main分支的代码,最开始没注意,main分支代码是不断修改的,并且最开始对etcd不太了解,所以源码笔记有些理解不太准确,也可能略有错误,所以年底就回过头来重新复习一遍&#…...