MySQL(六)-字符串函数的使用解析
字符串函数的使用解析
- 1 计算字符串字符数的函数和字符串长的函数
- 2 合并字符串函数 CONCAT(s1,s2,...)、CONCAT_WS(xs1,s2,...)
- 3 替换字符串函数INSERT(s1,x,len,s2)
- 4 字母大小写转换函数
- 5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)
- 6 填充字符串的函数 LPAD(s1,len,s2)和 RPAD(s1,len,s2)
- 7 删除空格的函数 LTRIMs)、RTRIMs)和 TRIM(s)
- 8 删除指定字符串的函数TRIM(S1 FROM s)
- 9 重复生成字符串的函数 REPEAT(s,n)
- 10 空格函数 SPACE(n)和替换函数 REPLACE(s,s1,s2)
- 11 比较字符串大小的函数 STRCMP(s1,s2)
- 12 获取子串的函数 SUBSTRING(s,n,len)和 MID(s,n,len)
- 13 匹配子串开始位置的函数
- 14 字符串逆序的函数 REVERSE(S)
- 15 返回指定位置的字符串的函数
- 16 返回指定字符串位置的函数 FIELD(s,s1,s2,...,sn)
- 17 返回子串位置的函数 FIND IN SET(s1,s2)
- 18 选取字符串的函数 MAKE SET(x,s1,s2,...,sn)
字符串函数主要用来处理数据库中的字符串数据。MySQL中的字符串函数有计算字符串长度函数、字符串合并函数、字符串替换函数、字符串比较函数、查找指定字符串位置函数等。本节将介绍各种字符串函数的功能和用法。
1 计算字符串字符数的函数和字符串长的函数
CHAR_LENGTH(str)返回值为字符串str所包含的字符个数,一个多字节字符算作资格单字符。
mysql> SELECT CHAR_LENGTH('date'), CHAR_LENGTH('1234'),CHAR_LENGTH('五四三二一');
+---------------------+---------------------+--------------------------------+
| CHAR_LENGTH('date') | CHAR_LENGTH('1234') | CHAR_LENGTH('五四三二一') |
+---------------------+---------------------+--------------------------------+
| 4 | 4 | 5 |
+---------------------+---------------------+--------------------------------+
1 row in set (0.00 sec)
LENGTH(str)返回值为字符串的字节长度,UTF8的编码字符集是,一个汉字是三个字节,一个字母或者数字是一个字节。
mysql> SELECT LENGTH('date'), LENGTH('1234'),LENGTH('五四三二一');
+----------------+----------------+---------------------------+
| LENGTH('date') | LENGTH('1234') | LENGTH('五四三二一') |
+----------------+----------------+---------------------------+
| 4 | 4 | 15 |
+----------------+----------------+---------------------------+
1 row in set (0.00 sec)
2 合并字符串函数 CONCAT(s1,s2,…)、CONCAT_WS(xs1,s2,…)
CONCAT(s1,s2,…)返回结果为连接参数产生的字符串,一个或者多个参数。任意一个参数为NULL,则返回值为NULL,所有参数为非二进制字符串,结果为非二进制字符串,如果任意一个参数为二进制字符串,则结果为一个二进制字符串。
mysql> SELECT CONCAT('My SQL', '8.0'),CONCAT('My',NULL, 'SQL');
+-------------------------+--------------------------+
| CONCAT('My SQL', '8.0') | CONCAT('My',NULL, 'SQL') |
+-------------------------+--------------------------+
| My SQL8.0 | NULL |
+-------------------------+--------------------------+
1 row in set (0.00 sec)
CONCAT_WS(xs1,s2,…) 类似于 CONCAT 函数,但是使用了一个分隔符来连接多个字符串。xs1表示使用分隔符号,分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其他参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
mysql> SELECT CONCAT_WS('--', '1st','2nd', '3rd'), CONCAT_WS('-*-', '1st', NULL, '3rd');
+-------------------------------------+--------------------------------------+
| CONCAT_WS('--', '1st','2nd', '3rd') | CONCAT_WS('-*-', '1st', NULL, '3rd') |
+-------------------------------------+--------------------------------------+
| 1st--2nd--3rd | 1st-*-3rd |
+-------------------------------------+--------------------------------------+
1 row in set (0.00 sec)
3 替换字符串函数INSERT(s1,x,len,s2)
INSERT(s1,x,len,s2)返回字符串s1,其子字符串起始于x位置和被字符串s2取代的len字符。如果x超过字符串长度,则返回为原始字符串,如果len长度大于其他字符串长度,则从位置x开始替换,如果任意一个参数为NULL,则返回结果为NULL。
mysql> SELECT INSERT('qwerty', 2, 4, 'What') AS col1,-> INSERT('qwerty', -1, 3, 'What') AS col2, -> INSERT('qwerty123', 2, 100, 'What') AS col3;
+--------+--------+-------+
| col1 | col2 | col3 |
+--------+--------+-------+
| qWhaty | qwerty | qWhat |
+--------+--------+-------+
1 row in set (0.00 sec)
4 字母大小写转换函数
LOWER(str)或者LCASE(str)可以将字符串str 中的字母字符全部转换成小写字母。
mysql> SELECT LOWER('AABBCCDD'), LCASE('qqWWeeRRTt');
+-------------------+---------------------+
| LOWER('AABBCCDD') | LCASE('qqWWeeRRTt') |
+-------------------+---------------------+
| aabbccdd | qqwweerrtt |
+-------------------+---------------------+
1 row in set (0.00 sec)
UPPER(str)或者UCASE(str)可以将字符串str 中的字母字符全部转换成大写字母。
mysql> SELECT UPPER('abcdefg'), UCASE('AaBbCcDd');
+------------------+-------------------+
| UPPER('abcdefg') | UCASE('AaBbCcDd') |
+------------------+-------------------+
| ABCDEFG | AABBCCDD |
+------------------+-------------------+
1 row in set (0.00 sec)
5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)
LEFT(s,n) 返回字符串S开始最左边的n个字符串,RIGHT(s,n)返回字符串S开始最右边的n个字符串。
mysql> SELECT LEFT('1111122222', 5),RIGHT('1111122222', 5);
+-----------------------+------------------------+
| LEFT('1111122222', 5) | RIGHT('1111122222', 5) |
+-----------------------+------------------------+
| 11111 | 22222 |
+-----------------------+------------------------+
1 row in set (0.00 sec)
6 填充字符串的函数 LPAD(s1,len,s2)和 RPAD(s1,len,s2)
LPAD(sl,len,s2)返回字符串 s1,其左边由字符串 s2 填补到 len 字符长度。假如 s1 的长度大于len,则返回值被缩短至 len 字符。
mysql> SELECT LPAD('123456',4,'??'), LPAD('BBBB',10,'??');
+-----------------------+----------------------+
| LPAD('123456',4,'??') | LPAD('BBBB',10,'??') |
+-----------------------+----------------------+
| 1234 | ??????BBBB |
+-----------------------+----------------------+
1 row in set (0.00 sec)
RPAD(sl,len,s2)返回字符串 sl,其右边被字符串 s2 填补至 len 字符长度。假如字符串 sI 的长度大于len,则返回值被缩短到len字符长度。
mysql> SELECT RPAD('123456',4,'??'), RPAD('BBBB',10,'??');
+-----------------------+----------------------+
| RPAD('123456',4,'??') | RPAD('BBBB',10,'??') |
+-----------------------+----------------------+
| 1234 | BBBB?????? |
+-----------------------+----------------------+
1 row in set (0.00 sec)
7 删除空格的函数 LTRIMs)、RTRIMs)和 TRIM(s)
LTRIM(s)返回字符串s,字符串左侧空格字符被删除。
mysql> SELECT '( aaaa )',CONCAT('(',LTRIM(' bbbb '),')');
+------------+-----------------------------------+
| ( aaaa ) | CONCAT('(',LTRIM(' bbbb '),')') |
+------------+-----------------------------------+
| ( aaaa ) | (bbbb ) |
+------------+-----------------------------------+
1 row in set (0.00 sec)
RTRIM(s)返回字符串s,字符串右侧空格字符被删除。
mysql> SELECT '( bbbb )',CONCAT('(', RTRIM (' cccc '),')');
+------------+-------------------------------------+
| ( bbbb ) | CONCAT('(', RTRIM (' cccc '),')') |
+------------+-------------------------------------+
| ( bbbb ) | ( cccc) |
+------------+-------------------------------------+
1 row in set (0.00 sec)
TRIM(s)删除字符串s两侧的空格。
mysql> SELECT '( dddd )',CONCAT('(', TRIM(' wwww '),')');
+------------+-----------------------------------+
| ( dddd ) | CONCAT('(', TRIM(' wwww '),')') |
+------------+-----------------------------------+
| ( dddd ) | (wwww) |
+------------+-----------------------------------+
1 row in set (0.00 sec)
8 删除指定字符串的函数TRIM(S1 FROM s)
TRIM(sI FROM s)删除字符串s 中两端所有的子字符串 s1。s1为可选项,在未指定情况下,删除空格。
mysql> SELECT TRIM('123' FROM '1234567891234561234123') ;
+-------------------------------------------+
| TRIM('123' FROM '1234567891234561234123') |
+-------------------------------------------+
| 4567891234561234 |
+-------------------------------------------+
1 row in set (0.00 sec)
9 重复生成字符串的函数 REPEAT(s,n)
REPEAT(s,n)返回一个由重复的字符串 s 组成的字符串,字符串 s 的数目等于n。若n<=0,则返回一个空字符串。若s或n为NULL,则返回NULL。
mysql> SELECT REPEAT('1QAZ', 3);
+-------------------+
| REPEAT('1QAZ', 3) |
+-------------------+
| 1QAZ1QAZ1QAZ |
+-------------------+
1 row in set (0.00 sec)
10 空格函数 SPACE(n)和替换函数 REPLACE(s,s1,s2)
SPACE(n)返回一个由n个空格组成的字符串。
mysql> SELECT CONCAT('(', SPACE(12), ')' );
+------------------------------+
| CONCAT('(', SPACE(12), ')' ) |
+------------------------------+
| ( ) |
+------------------------------+
1 row in set (0.00 sec)
REPLACE(s.s1,s2)使用字符串 s2 替代字符串s中所有的字符串 s1。
mysql> SELECT REPLACE('xxx.zxc.bxc.aaa', 'x', 'w');
+--------------------------------------+
| REPLACE('xxx.zxc.bxc.aaa', 'x', 'w') |
+--------------------------------------+
| www.zwc.bwc.aaa |
+--------------------------------------+
1 row in set (0.00 sec)
11 比较字符串大小的函数 STRCMP(s1,s2)
STRCMP(s1.s2): 若所有的字符串均相同,则返回0: 若根据当前分类次序,第一个参数小于第二个,则返回-1;其他情况返回 1。
mysql> SELECT STRCMP('qwer', 'qwer2'),STRCMP('qwer2', 'qwer'), STRCMP('qwer', 'qwer');
+-------------------------+-------------------------+------------------------+
| STRCMP('qwer', 'qwer2') | STRCMP('qwer2', 'qwer') | STRCMP('qwer', 'qwer') |
+-------------------------+-------------------------+------------------------+
| -1 | 1 | 0 |
+-------------------------+-------------------------+------------------------+
1 row in set (0.00 sec)
12 获取子串的函数 SUBSTRING(s,n,len)和 MID(s,n,len)
SUBSTRING(s.n,len)带有 len 参数的格式,从字符串s 返回一个长度与 len 字符相同的子字符串,起始于位置 n。也可能对 n 使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的n字符,即倒数第n个字符,而不是字符串的开头位置。
mysql> SELECT SUBSTRING('database',5) AS col1, -> SUBSTRING('database',5,3) AS col2,-> SUBSTRING('monkey', -3) AS col3,-> SUBSTRING('monkeyzoo', -5, 3) AS col4;
+------+------+------+------+
| col1 | col2 | col3 | col4 |
+------+------+------+------+
| base | bas | key | eyz |
+------+------+------+------+
1 row in set (0.00 sec)
MID(s,n,len)与 SUBSTRING(s,n,len)的作用相同。
mysql> SELECT MID('breakfast',5) as col1, -> MID('breakfast',5,3) as col2,-> MID('lunch', -3) as col3, -> MID('lunch', -5, 3) as col4;
+-------+------+------+------+
| col1 | col2 | col3 | col4 |
+-------+------+------+------+
| kfast | kfa | nch | lun |
+-------+------+------+------+
1 row in set (0.00 sec)
13 匹配子串开始位置的函数
LOCATE(strl.str)、POSITION(strlIN str)和INSTR(str,strl)3 个函数的作用相同,返回子字符串 str1 在字符串str 中的开始位置。
mysql> SELECT LOCATE('ball','basketball'),POSITION('ball'IN 'ball'),INSTR ('football', 'ball');
+-----------------------------+---------------------------+----------------------------+
| LOCATE('ball','basketball') | POSITION('ball'IN 'ball') | INSTR ('football', 'ball') |
+-----------------------------+---------------------------+----------------------------+
| 7 | 1 | 5 |
+-----------------------------+---------------------------+----------------------------+
1 row in set (0.00 sec)
14 字符串逆序的函数 REVERSE(S)
REVERSE(s)将字符串s 反转,返回的字符串的顺序和s 字符串顺序相反。
mysql> SELECT REVERSE('abc123');
+-------------------+
| REVERSE('abc123') |
+-------------------+
| 321cba |
+-------------------+
1 row in set (0.00 sec)
15 返回指定位置的字符串的函数
ELT(N,字符串 1,字符串 2,字符串 3,,字符串 N): 若 N=1,则返回值为字符串 1; 若 N=2则返回值为字符串 2:以此类推:若 N 小于1或大于参数的数目,则返回值为 NULL。
mysql> SELECT ELT(3,'1st','2nd','3rd'), ELT(3,'net','os');
+--------------------------+-------------------+
| ELT(3,'1st','2nd','3rd') | ELT(3,'net','os') |
+--------------------------+-------------------+
| 3rd | NULL |
+--------------------------+-------------------+
1 row in set (0.00 sec)
16 返回指定字符串位置的函数 FIELD(s,s1,s2,…,sn)
FIELD(s,sl,s2,…,sn)返回字符串 s 在列表 s1,s2,…,sn 中第一次出现的位置,在找不到 s 的情况下,返回值为 0。如果s为 NULL,则返回值为 0,原因是 NULL 不能同任何值进行同等比较。
mysql> SELECT FIELD('Hi', 'hihi', 'Hey', 'Hi', 'bas') as col1,-> FIELD('Hi', 'Hey', 'Lo', 'Hilo', 'foo') as col2;
+------+------+
| col1 | col2 |
+------+------+
| 3 | 0 |
+------+------+
1 row in set (0.00 sec)
17 返回子串位置的函数 FIND IN SET(s1,s2)
FIND IN SET(sl,s2)返回字符串 s1 在字符串列表 s2中出现的位置,字符串列表是一个由多个逗号“,’分开的字符串组成的列表。如果 s1 不在 s2 或 s2 为空字符串,则返回值为 0。如果任意一个参数为 NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号“’时将无法正常运行。
mysql> SELECT FIND_IN_SET('Hi','hihi,Hey,Hi,bas');
+-------------------------------------+
| FIND_IN_SET('Hi','hihi,Hey,Hi,bas') |
+-------------------------------------+
| 3 |
+-------------------------------------+
1 row in set (0.00 sec)
18 选取字符串的函数 MAKE SET(x,s1,s2,…,sn)
MAKE SET(x,sl,s2…,sn)函数按 x 的二进制数从 sl,s2…sn 中选取字符串。例如 5 的二进制是0101,这个二进制从右往左的第 1位和第 3 位是 1,所以选取 1和 s3。sl,s2…sn 中的 NULL值不会被添加到结果中。
mysql> SELECT MAKE_SET(1,'a','b','c') as col1,-> MAKE_SET(1 | 4,'hello','nice','world') as col2,-> MAKE_SET(1 | 4,'hello','nice',NULL,'world') as col3,-> MAKE_SET(0,'a','b','c') as col4;
+------+-------------+-------+------+
| col1 | col2 | col3 | col4 |
+------+-------------+-------+------+
| a | hello,world | hello | |
+------+-------------+-------+------+
1 row in set (0.00 sec)
相关文章:
MySQL(六)-字符串函数的使用解析
字符串函数的使用解析 1 计算字符串字符数的函数和字符串长的函数2 合并字符串函数 CONCAT(s1,s2,...)、CONCAT_WS(xs1,s2,...)3 替换字符串函数INSERT(s1,x,len,s2)4 字母大小写转换函数5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)6 填充字符串的函数 LPAD(s1,len,s2)…...
Zookeeper集群搭建
搭建Zookeeper集群 1.1 搭建要求 真实的集群是需要部署在不同的服务器上的,但是在我们测试时同时启动很多个虚拟机内存会吃不消,所以我们通常会搭建伪集群,也就是把所有的服务都搭建在一台虚拟机上,用端口进行区分。 我们这里要…...

【计算机视觉 | 目标检测】OVD:Open-Vocabulary Object Detection 论文工作总结(共八篇)
文章目录 一、2D open-vocabulary object detection的发展和研究现状二、基于大规模外部图像数据集2.1 OVR-CNN:Open-Vocabulary Object Detection Using Captions,CVPR 20212.2 Open Vocabulary Object Detection with Pseudo Bounding-Box Labels&…...

C++入门基础知识[博客园长期更新......]
0.博客园链接 博客的最新内容都在博客园当中,所有内容均为原创(博客园、CSDN同步更新)。 C知识点集合 1.命名空间 在往后的C编程中,将会存在大量的变量和函数,因为有大量的变量和函数,所以C的库会非常多。那么在C语言编程中&a…...

( “树” 之 BST) 501. 二叉搜索树中的众数 ——【Leetcode每日一题】
二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点。 二叉查找树中序遍历有序。 ❓501. 二叉搜索树中的众数 难度:简单 给你一个含重复值的二叉搜索树(BST)的根节点 root…...

openharmony内核中不一样的双向链表
不一样的双向链表 链表初识别遍历双向链表参考链接 链表初识别 最近看openharmony的内核源码时看到一个有意思的双向链表,结构如下 typedef struct LOS_DL_LIST{struct LOS_DL_LIST *pstPrev; //前驱节点struct LOS_DL_LIST *pstNext; //后继节点 }LOS_DL_LIST;不…...
大文件删除不在回收站里怎么找回
在日常办公中,总会有一些新的文件产生,和用完后的文件清理掉。有时候不小心误删文件也是常有的事。但如果大文件删除不在回收站里怎么找回呢?遇到的小伙伴们请不要别急,只要按照下面的方法做就行了。 正常情况下删除会进入到回收站中&#x…...

Ubuntu22.04部署Pytorch2.0深度学习环境
文章目录 安装Anaconda创建新环境安装Pytorch2.0安装VS CodeUbuntu下实时查看GPU状态的方法小实验:Ubuntu、Windows10下GPU训练速度对比 Ubuntu安装完显卡驱动、CUDA和cudnn后,下面部署深度学习环境。 (安装Ubuntu系统、显卡驱动、CUDA和cudn…...

php的面试集结(会持续更新)
PHP 高级工程面试题汇总 php面试 1.大型的分页查询 发现当表中有很多上万条数据时,越后的数据用limit分页显示就越慢(>2秒),可能是mysql的特性所致。所以花了点时间总结实现了更优解决方案,最终实现毫秒级响应。…...

谁在成为产业经济发展的推车人?
区域发展的新蓝图中,京东云能做什么?它的角色是什么?这个问题背后,隐藏的不仅是京东云自身的能力和价值,更是其作为中国互联网云厂商的代表之一,对“技术产业”的新论证。 作者|皮爷 出品|产业家 关于云…...

上海无纺布制造商【盈兹】申请纳斯达克IPO上市,募资1100万美元
来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,来自上海的无纺布制造商【盈兹】,近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达克IPO上市,股票代码为(ETZ&#…...

Build an SAP Fiori App(一)后面更新中
1.登录 SAP BTP Trial 地址: https://account.hanatrial.ondemand.com 流程可以参考 点击 serviced marketplace 搜索studio 点击创建 点击创建,点击view subscription 点击go to application 创建完成后 添加新链接 Field Value Name ES5 - if you’…...

关于GNSS技术介绍(二)
在上期文章中,我们介绍了GNSS技术的发展历程、原理,并对不同类型的定位技术进行了介绍,在本期文章中我们将继续讨论GNSS的优点与应用及其测试方法和解决方案。 GNSS的优点与应用 目前GNSS技术已经成为日常生活不可或缺的一部分,几…...

拿到新的服务器必做的五件事(详细流程,开发必看)
目录 1. 配置免密登录 基本用法 远程登录服务器: 第一次登录时会提示: 配置文件 创建文件 然后在文件中输入: 密钥登录 创建密钥: 2.部署nginx 一、前提条件 二、安装 Nginx 3.配置python虚拟环境 1.安装虚拟环境 …...
主机防病毒攻略之勒索病毒
勒索病毒并不是某一个病毒,而是一类病毒的统称,主要以邮件、程序、木马、网页挂马的形式进行传播,利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破解。 已知最早的勒索软件出现于 …...

Win10系统重装过程(一键装机)
相信不少小伙伴都有刷机重装系统的过程,那种镜像,up盘,压缩包等多个复杂过程也折磨的大伙不堪重负,因此本期带来简易版一键装机相应操作。 下载地址: 小心点击下方链接,点击即下载(3.66GB&…...

查询优化之单表查询
建表 CREATE TABLE IF NOT EXISTS article ( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, author_id INT(10) UNSIGNED NOT NULL, category_id INT(10) UNSIGNED NOT NULL, views INT(10) UNSIGNED NOT NULL, comments INT(10) UNSIGNED NOT NULL, title VARBI…...

ChatGPT写小论文
ChatGPT写小论文 只是个人对写小论文心得?从知乎,知网自己总结的,有问题,可以留个言我改一下 文章目录 ChatGPT写小论文-1.写论文模仿实战(狗头)0.论文组成1.好论文前提:2.标题3.摘要4.关键词5.概述6.实验数据、公式或者设计7.结论,思考8.参考文献 0.模仿1.喂大纲…...

公共资源包发布流程详解
文章目录 公有包发布并使用npm安装git仓库协议创建及使用 npm 私有包创建及使用 group npm 私有包私有仓账密存放位置 当公司各个系统都需要使用特定的业务模块时,这时候将代码抽离,发布到 npm 上,供下载安装使用,是个比较好的方案…...

设计模式简谈
设计模式是我们软件架构开发中不可缺失的一部分,通过学习设计模式,我们可以更好理解的代码的结构和层次。 设计原则 设计原则是早于设计方法出现的,所以的设计原则都要依赖于设计方法。这里主要有八个设计原则。 推荐一个零声学院免费教程&…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...
Linux信号保存与处理机制详解
Linux信号的保存与处理涉及多个关键机制,以下是详细的总结: 1. 信号的保存 进程描述符(task_struct):每个进程的PCB中包含信号相关信息。 pending信号集:记录已到达但未处理的信号(未决信号&a…...

使用python进行图像处理—图像变换(6)
图像变换是指改变图像的几何形状或空间位置的操作。常见的几何变换包括平移、旋转、缩放、剪切(shear)以及更复杂的仿射变换和透视变换。这些变换在图像配准、图像校正、创建特效等场景中非常有用。 6.1仿射变换(Affine Transformation) 仿射变换是一种…...
Git 切换到旧提交,同时保证当前修改不丢失
在 Git 中,可以通过以下几种方式切换到之前的提交,同时保留当前的修改 1. 使用 git checkout 创建临时分离头指针(推荐用于查看代码) git checkout <commit-hash>这会让你进入"分离头指针"状态,你可…...

浏览器工作原理01 [#]Chrome架构:仅仅打开了1个页面,为什么有4个进程
引用 浏览器工作原理与实践 Chrome打开一个页面需要启动多少进程?你可以点击Chrome浏览器右上角的“选项”菜单,选择“更多工具”子菜单,点击“任务管理器”,这将打开Chrome的任务管理器的窗口,如下图 和Windows任务管…...