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

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 搭建要求 真实的集群是需要部署在不同的服务器上的&#xff0c;但是在我们测试时同时启动很多个虚拟机内存会吃不消&#xff0c;所以我们通常会搭建伪集群&#xff0c;也就是把所有的服务都搭建在一台虚拟机上&#xff0c;用端口进行区分。 我们这里要…...

【计算机视觉 | 目标检测】OVD:Open-Vocabulary Object Detection 论文工作总结(共八篇)

文章目录 一、2D open-vocabulary object detection的发展和研究现状二、基于大规模外部图像数据集2.1 OVR-CNN&#xff1a;Open-Vocabulary Object Detection Using Captions&#xff0c;CVPR 20212.2 Open Vocabulary Object Detection with Pseudo Bounding-Box Labels&…...

C++入门基础知识[博客园长期更新......]

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

( “树” 之 BST) 501. 二叉搜索树中的众数 ——【Leetcode每日一题】

二叉查找树&#xff08;BST&#xff09;&#xff1a;根节点大于等于左子树所有节点&#xff0c;小于等于右子树所有节点。 二叉查找树中序遍历有序。 ❓501. 二叉搜索树中的众数 难度&#xff1a;简单 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root…...

openharmony内核中不一样的双向链表

不一样的双向链表 链表初识别遍历双向链表参考链接 链表初识别 最近看openharmony的内核源码时看到一个有意思的双向链表&#xff0c;结构如下 typedef struct LOS_DL_LIST{struct LOS_DL_LIST *pstPrev; //前驱节点struct LOS_DL_LIST *pstNext; //后继节点 }LOS_DL_LIST;不…...

大文件删除不在回收站里怎么找回

在日常办公中&#xff0c;总会有一些新的文件产生&#xff0c;和用完后的文件清理掉。有时候不小心误删文件也是常有的事。但如果大文件删除不在回收站里怎么找回呢?遇到的小伙伴们请不要别急&#xff0c;只要按照下面的方法做就行了。 正常情况下删除会进入到回收站中&#x…...

Ubuntu22.04部署Pytorch2.0深度学习环境

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

php的面试集结(会持续更新)

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

谁在成为产业经济发展的推车人?

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

上海无纺布制造商【盈兹】申请纳斯达克IPO上市,募资1100万美元

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

Build an SAP Fiori App(一)后面更新中

1.登录 SAP BTP Trial 地址&#xff1a; https://account.hanatrial.ondemand.com 流程可以参考 点击 serviced marketplace 搜索studio 点击创建 点击创建&#xff0c;点击view subscription 点击go to application 创建完成后 添加新链接 Field Value Name ES5 - if you’…...

关于GNSS技术介绍(二)

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

拿到新的服务器必做的五件事(详细流程,开发必看)

目录 1. 配置免密登录 基本用法 远程登录服务器&#xff1a; 第一次登录时会提示&#xff1a; 配置文件 创建文件 然后在文件中输入&#xff1a; 密钥登录 创建密钥&#xff1a; 2.部署nginx 一、前提条件 二、安装 Nginx 3.配置python虚拟环境 1.安装虚拟环境 …...

主机防病毒攻略之勒索病毒

勒索病毒并不是某一个病毒&#xff0c;而是一类病毒的统称&#xff0c;主要以邮件、程序、木马、网页挂马的形式进行传播&#xff0c;利用各种加密算法对文件进行加密&#xff0c;被感染者一般无法解密&#xff0c;必须拿到解密的私钥才有可能破解。 已知最早的勒索软件出现于 …...

Win10系统重装过程(一键装机)

相信不少小伙伴都有刷机重装系统的过程&#xff0c;那种镜像&#xff0c;up盘&#xff0c;压缩包等多个复杂过程也折磨的大伙不堪重负&#xff0c;因此本期带来简易版一键装机相应操作。 下载地址&#xff1a; 小心点击下方链接&#xff0c;点击即下载&#xff08;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.结论&#xff0c;思考8.参考文献 0.模仿1.喂大纲…...

公共资源包发布流程详解

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

设计模式简谈

设计模式是我们软件架构开发中不可缺失的一部分&#xff0c;通过学习设计模式&#xff0c;我们可以更好理解的代码的结构和层次。 设计原则 设计原则是早于设计方法出现的&#xff0c;所以的设计原则都要依赖于设计方法。这里主要有八个设计原则。 推荐一个零声学院免费教程&…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...