主頁 >  其他 > MySQL講義第 38 講——select 查詢之函式(1):字串函式

MySQL講義第 38 講——select 查詢之函式(1):字串函式

2020-11-02 23:07:26 其他

MySQL講義第 38 講——select 查詢之函式(1):字串函式

使用函式可在查詢時構造更加靈活的查詢條件,MySQL 提供了處理字串的函式,下面對字串函式進行詳細的介紹并舉例說明其用法,在當前資料庫中創建一個 student 表,表結構及表中的資料如下:

mysql> desc student;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| s_id   | char(5)      | NO   | PRI | NULL    |       |
| s_name | char(20)     | YES  |     | NULL    |       |
| birth  | datetime     | YES  |     | NULL    |       |
| phone  | char(20)     | YES  |     | NULL    |       |
| addr   | varchar(100) | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
5 rows in set (0.03 sec)

mysql> select * from student;
+-------+--------------+---------------------+-------------+-----------+
| s_id  | s_name       | birth               | phone       | addr      |
+-------+--------------+---------------------+-------------+-----------+
| s1801 | 劉蓓         | 2000-03-08 00:00:00 | 15903735566 | Kaifeng   |
| s1802 | 趙蕓         | 2000-04-27 00:00:00 | 15903735533 | Zheng     |
| s1803 | 張毅得       | 1999-11-20 00:00:00 | 15903735544 | Xinxiang  |
| s1804 | 曹夢德       | 1999-08-07 00:00:00 | 15903735577 | Zheng     |
| s1805 | 孫泉         | 2000-10-25 00:00:00 | 15903735587 | Xinyang   |
| s1806 | 司馬意       | 2000-10-24 00:00:00 | 15903735581 | Xinxiang  |
| s1807 | 司馬招       | 2000-08-08 00:00:00 | 15903734444 | Anyang    |
| s1808 | 趙紫龍       | 2001-06-26 00:00:00 | 15903736666 | Zhumadian |
| s1809 | 呂步         | 2001-04-30 00:00:00 | 15903737777 | Nanyang   |
| s1810 | 劉珊         | 2002-10-26 00:00:00 | 15903732222 | Zhumadian |
| s1811 | 諸葛亮       | 2001-11-24 00:00:00 | 15903731111 | Zhumadian |
| s1901 | 諸葛英       | 2001-08-09 00:00:00 | 15903731234 | Xinxiang  |
| s1902 | 司馬相如     | 2001-12-08 00:00:00 | 15903731144 | Nanyang   |
| s1903 | 王召軍       | 2002-10-23 00:00:00 | 15903731199 | Kaifeng   |
| s1904 | 康西         | 2001-10-26 00:00:00 | 15903731177 | Kaifeng   |
| s1905 | 乾龍         | 2000-10-27 00:00:00 | 15903732211 | Kaifeng   |
| s1906 | 朱元張       | 2000-08-07 00:00:00 | 15903732233 | Kaifeng   |
| s1907 | 李氏敏       | 2001-10-23 00:00:00 | 15903732244 | Zhumadian |
| s1908 | 趙匡銀       | 2001-10-24 00:00:00 | 15903733322 | Xinyang   |
| s1909 | 趙夠         | 2001-10-25 00:00:00 | 15903733366 | Anyang    |
| s2011 | 王保墻       | 2001-10-22 00:00:00 | 15903733355 | Xinxiang  |
| s2012 | 李曉露       | 2001-11-27 00:00:00 | 15903731441 | Zhumadian |
| s2013 | 賈大空       | 2002-03-08 00:00:00 | 15903734422 | Xinxiang  |
| s2014 | 孫悟空       | 2002-10-25 00:00:00 | 15903734466 | Anyang    |
| s2015 | 豬八戒       | 2001-10-26 00:00:00 | 15903734477 | Xinxiang  |
| s2016 | 沙和尚       | 2002-10-24 00:00:00 | 15903736611 | Anyang    |
| s2017 | 唐三藏       | 2001-09-08 00:00:00 | 15903736655 | Nanyang   |
| s2018 | 白龍馬       | 2001-12-05 00:00:00 | 15903736633 | Nanyang   |
| s2019 | 如來         | 2002-01-27 00:00:00 | 15903736699 | Nanyang   |
| s2020 | 觀音         | 2002-02-23 00:00:00 | 15903737744 | Zhumadian |
+-------+--------------+---------------------+-------------+-----------+
30 rows in set (0.23 sec)

1、ASCII() 函式

ASCII() 函式回傳一個字符的 ASCII 碼,如果引數為字串,則回傳第一個字符的 ASCII 碼,語法如下:

ASCII(str);

--說明:1)函式的引數為字串,
(2)回傳字串中第一個字符的 ASCII 碼,

例如:

mysql> SELECT
    -> ASCII('abc');
+--------------+
| ASCII('abc') |
+--------------+
|           97 |
+--------------+
1 row in set (0.02 sec)

mysql> SELECT 
    -> ASCII(NULL);
+-------------+
| ASCII(NULL) |
+-------------+
|        NULL |
+-------------+
1 row in set (0.00 sec)

mysql> SELECT 
    -> ASCII('');
+-----------+
| ASCII('') |
+-----------+
|         0 |
+-----------+
1 row in set (0.01 sec)

2、BIN() 函式

BIN() 函式把一個整數轉化為二進制數,回傳結果的型別為字串,語法如下:

BIN(n);

--說明:1)引數為一個整數,如果引數為小數,則取整后再進行處理,
(2)把數值 n 轉化為二進制形式,回傳值是一個由 01 組成的字串,

例如:

mysql> SELECT 
    -> BIN(12.85);
+------------+
| BIN(12.85) |
+------------+
| 1100       |
+------------+
1 row in set (0.00 sec)

mysql> SELECT 
    -> BIN(1023);
+------------+
| BIN(1023)  |
+------------+
| 1111111111 |
+------------+
1 row in set (0.00 sec)

3、CHAR() 函式

CHAR() 函式把多個 ASCII 碼轉換為對應的字符,并連接成一個字串,語法如下:

CHAR(n1, n2, ...);

說明:
(1)引數為若干個表示 ASCII 碼的整數,
(2)回傳由 n1,n2,… 的 ASCII 碼對應的字符組成的字串,

例如:

mysql> SELECT
    -> CHAR(97,98,99,65,66,67);
+-------------------------+
| CHAR(97,98,99,65,66,67) |
+-------------------------+
| abcABC                  |
+-------------------------+
1 row in set (0.00 sec)

4、CHAR_LENGTH() 函式

CHAR_LENGTH() 函式回傳一個字串的字符個數,語法如下:

CHAR_LENGTH(str);

--說明:1)函式的引數為一個字串,
(2)回傳字串中包含字符的個數,包括半角字符和全角字符,

例如:

mysql> SELECT 
    -> CHAR_LENGTH('ABC0123');
+------------------------+
| CHAR_LENGTH('ABC0123') |
+------------------------+
|                      7 |
+------------------------+
1 row in set (0.00 sec)

mysql> SELECT 
    -> CHAR_LENGTH('化工路258號');
+--------------------------------+
| CHAR_LENGTH('化工路258號')     |
+--------------------------------+
|                              7 |
+--------------------------------+
1 row in set (0.00 sec)

5、LENGTH() 函式

LENGTH() 函式回傳一個字串的長度,用位元組表示,語法如下:

LENGTH(str);

--說明:1)函式的引數為一個字串,
(2)回傳字串的長度(單位為位元組),
(3)多位元組字符的長度取決于所用的字符集,比如 utf8 字符集一個漢字為 3 個位元組,而 latin1 字符集一個漢字為 2 位元組,

例如:

mysql> SHOW VARIABLES LIKE '%CHARACT%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.09 sec)

mysql> SELECT
    -> LENGTH('ABC0123');
+-------------------+
| LENGTH('ABC0123') |
+-------------------+
|                 7 |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT 
    -> LENGTH('河南省');
+---------------------+
| LENGTH('河南省')    |
+---------------------+
|                   9 |
+---------------------+
1 row in set (0.00 sec)

6、CONCAT() 函式

CONCAT() 函式用于字串的連接,語法如下:

CONCAT(str1,str2,...);

--說明:1)函式的引數為若干個字串,
(2)把引數中包含的字串連接成一個字串,然后回傳,

例如:

mysql> SELECT
    -> s_id,s_name,concat(addr,', ',phone) AS contact
    -> FROM
    -> student
    -> WHERE
    -> s_id LIKE 's18%';
+-------+-----------+------------------------+
| s_id  | s_name    | contact                |
+-------+-----------+------------------------+
| s1801 | 劉蓓      | Kaifeng, 15903735566   |
| s1802 | 趙蕓      | Zheng, 15903735533     |
| s1803 | 張毅得    | Xinxiang, 15903735544  |
| s1804 | 曹夢德    | Zheng, 15903735577     |
| s1805 | 孫泉      | Xinyang, 15903735587   |
| s1806 | 司馬意    | Xinxiang, 15903735581  |
| s1807 | 司馬招    | Anyang, 15903734444    |
| s1808 | 趙紫龍    | Zhumadian, 15903736666 |
| s1809 | 呂步      | Nanyang, 15903737777   |
| s1810 | 劉珊      | Zhumadian, 15903732222 |
| s1811 | 諸葛亮    | Zhumadian, 15903731111 |
+-------+-----------+------------------------+
11 rows in set (0.00 sec)

7、CONCAT_WS() 函式

CONCAT_WS() 函式用于多個字串的連接,可以指定連接字串時的分隔符,語法如下:

CONCAT_WS(separator,st1,st2,...);

--說明:1)第一個引數為連接字串時各字串之間的分隔符
(2)把引數中包含的字串連接成一個字串,并且用一個分隔符隔開,

例如:

mysql> SELECT
    -> s_id,s_name,CONCAT_WS(',',addr,phone) AS contact
    -> FROM
    -> student
    -> WHERE
    -> s_id LIKE 's18%';
+-------+-----------+-----------------------+
| s_id  | s_name    | contact               |
+-------+-----------+-----------------------+
| s1801 | 劉蓓      | Kaifeng,15903735566   |
| s1802 | 趙蕓      | Zheng,15903735533     |
| s1803 | 張毅得    | Xinxiang,15903735544  |
| s1804 | 曹夢德    | Zheng,15903735577     |
| s1805 | 孫泉      | Xinyang,15903735587   |
| s1806 | 司馬意    | Xinxiang,15903735581  |
| s1807 | 司馬招    | Anyang,15903734444    |
| s1808 | 趙紫龍    | Zhumadian,15903736666 |
| s1809 | 呂步      | Nanyang,15903737777   |
| s1810 | 劉珊      | Zhumadian,15903732222 |
| s1811 | 諸葛亮    | Zhumadian,15903731111 |
+-------+-----------+-----------------------+
11 rows in set (0.00 sec)

8、GROUP_CONCAT() 函式

GROUP_CONCAT() 函式用于把一個欄位中的所有資料進行連接,可以在分組查詢時使用,語法如下:

GROUP_CONCAT([distinct] fieldname [order by 排序欄位 asc|desc] separator '分隔符');

--說明:1)該函式對表中的一個欄位進行處理,把該欄位的所有資料連接起來,
(2)該函式一般用于分組查詢,其用法類似于聚合函式,
(3)把欄位的所有資料使用 separator 指定的分隔符連接起來,如果省略 separator,則默認的分隔符為逗號,
(4distinct:取出重復的資料,
(5order by:按表中的某個欄位排序之后再進行連接,

例如:

(1)對 student 表按 addr 進行分組,使用 GROUP_CONCAT 連接 s_name

mysql> SELECT
    -> addr,GROUP_CONCAT(s_name)
    -> FROM
    -> student
    -> GROUP BY
    -> addr;
+-----------+-------------------------------------------------------------+
| addr      | GROUP_CONCAT(s_name)                                        |
+-----------+-------------------------------------------------------------+
| Anyang    | 孫悟空,趙夠,司馬招,沙和尚                                   |
| Kaifeng   | 劉蓓,朱元張,乾龍,康西,王召軍                                |
| Nanyang   | 唐三藏,呂步,司馬相如,白龍馬,如來                            |
| Xinxiang  | 豬八戒,王保墻,賈大空,諸葛英,司馬意,張毅得                   |
| Xinyang   | 趙匡銀,孫泉                                                 |
| Zheng     | 趙蕓,曹夢德                                                 |
| Zhumadian | 李曉露,李氏敏,諸葛亮,劉珊,趙紫龍,觀音                       |
+-----------+-------------------------------------------------------------+
7 rows in set (0.00 sec)

(2)按出生日期排序再連接 s_name

mysql> SELECT
    -> addr,GROUP_CONCAT(s_name ORDER BY birth)
    -> FROM
    -> student
    -> GROUP BY
    -> addr;
+-----------+-------------------------------------------------------------+
| addr      | GROUP_CONCAT(s_name ORDER BY birth)                         |
+-----------+-------------------------------------------------------------+
| Anyang    | 司馬招,趙夠,沙和尚,孫悟空                                   |
| Kaifeng   | 劉蓓,朱元張,乾龍,康西,王召軍                                |
| Nanyang   | 呂步,唐三藏,白龍馬,司馬相如,如來                            |
| Xinxiang  | 張毅得,司馬意,諸葛英,王保墻,豬八戒,賈大空                   |
| Xinyang   | 孫泉,趙匡銀                                                 |
| Zheng     | 曹夢德,趙蕓                                                 |
| Zhumadian | 趙紫龍,李氏敏,諸葛亮,李曉露,觀音,劉珊                       |
+-----------+-------------------------------------------------------------+
7 rows in set (0.00 sec)

9、FORMAT() 函式

FORMAT() 函式用于把某個數值進行四舍五入后回傳,回傳結果的型別為字串,語法如下:

FORMAT(x,d);

--說明:1)對數值 x 進行四舍五入運算,保留 d 為小數,回傳值為一個字串,
(2)該函式的功能和 ROUND() 函式類似,回傳值的型別不同,

例如:

mysql> SELECT 
    -> FORMAT(125.487,1);
+-------------------+
| FORMAT(125.487,1) |
+-------------------+
| 125.5             |
+-------------------+
1 row in set (0.00 sec)

10、INSERT() 和 REPLACE() 函式

INSERT() 和 REPLACE() 函式用于把一個字串中的某些字符替換為另外的字符,語法如下:

INSERT(str,pos,len,instr);
REPLACE(str1,str2,str3);

--說明:1INSERT() 函式:把字串 str 從 pos 位置開始的 len 個字符替換為 instr 字串,并回傳替換之后的字串,
(2)如果 pos 超過字串長度,則不進行任何替換,直接回傳原字串,
(3REPLACE() 函式:把 str1 中的 str2 子串替換為 str3 子串,
(4)如果要替換的字串的位置確定,內容不知道,使用 INSERT() 函式,
(5)如果要替換的字串的內容確定,位置不確定,使用 REPLACE() 函式,

例如:

mysql> SELECT
    -> s_id,s_name,INSERT(phone,4,4,'****')
    -> FROM
    -> student
    -> WHERE
    -> s_id LIKE 's18%';
+-------+-----------+--------------------------+
| s_id  | s_name    | INSERT(phone,4,4,'****') |
+-------+-----------+--------------------------+
| s1801 | 劉蓓      | 159****5566              |
| s1802 | 趙蕓      | 159****5533              |
| s1803 | 張毅得    | 159****5544              |
| s1804 | 曹夢德    | 159****5577              |
| s1805 | 孫泉      | 159****5587              |
| s1806 | 司馬意    | 159****5581              |
| s1807 | 司馬招    | 159****4444              |
| s1808 | 趙紫龍    | 159****6666              |
| s1809 | 呂步      | 159****7777              |
| s1810 | 劉珊      | 159****2222              |
| s1811 | 諸葛亮    | 159****1111              |
+-------+-----------+--------------------------+
11 rows in set (0.00 sec)

mysql> SELECT
    -> s_id,s_name,REPLACE(phone,'159','136')
    -> FROM
    -> student
    -> WHERE
    -> s_id LIKE 's18%';
+-------+-----------+----------------------------+
| s_id  | s_name    | REPLACE(phone,'159','136') |
+-------+-----------+----------------------------+
| s1801 | 劉蓓      | 13603735566                |
| s1802 | 趙蕓      | 13603735533                |
| s1803 | 張毅得    | 13603735544                |
| s1804 | 曹夢德    | 13603735577                |
| s1805 | 孫泉      | 13603735587                |
| s1806 | 司馬意    | 13603735581                |
| s1807 | 司馬招    | 13603734444                |
| s1808 | 趙紫龍    | 13603736666                |
| s1809 | 呂步      | 13603737777                |
| s1810 | 劉珊      | 13603732222                |
| s1811 | 諸葛亮    | 13603731111                |
+-------+-----------+----------------------------+
11 rows in set (0.00 sec)

11、大小寫轉換函式

MySQL提供了四個大小寫轉換函式,語法如下:

LCASE(str);
UCASE(str);
LOWER(str);
UPPER(str);

--說明:1)UCASE 和 UPPER 可以把字串中的字母轉換為大寫字母,
(2)LCASE 和 LOWER 可以把字串中的字母轉換為小寫字母,
(3)非字母不轉換,

例如:

mysql> set @str = 'Paypal is a great site and is used by many to send and receive money.';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT
    -> LCASE(@str);
+-----------------------------------------------------------------------+
| LCASE(@str)                                                           |
+-----------------------------------------------------------------------+
| paypal is a great site and is used by many to send and receive money. |
+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT
    -> UCASE(@str);
+-----------------------------------------------------------------------+
| UCASE(@str)                                                           |
+-----------------------------------------------------------------------+
| PAYPAL IS A GREAT SITE AND IS USED BY MANY TO SEND AND RECEIVE MONEY. |
+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT
    -> LOWER(@str);
+-----------------------------------------------------------------------+
| LOWER(@str)                                                           |
+-----------------------------------------------------------------------+
| paypal is a great site and is used by many to send and receive money. |
+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT
    -> UPPER(@str);
+-----------------------------------------------------------------------+
| UPPER(@str)                                                           |
+-----------------------------------------------------------------------+
| PAYPAL IS A GREAT SITE AND IS USED BY MANY TO SEND AND RECEIVE MONEY. |
+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

12、截取子字串函式

該類函式可以從一個字串中截取一個字串,一共有三個,語法如下:

LEFT(str,n);
RIGHT(str,n);
SUBSTR(str,m,n);
SUBSTRING(str,m,n);

--說明:1LEFT() 函式是從字串最前端開始截取 n 個字符并回傳,
(2RIGHT() 函式是從字串最右端截取 n 個字符并回傳,
(3)SUBSTR() 和 SUBSTRING() 兩個函式的功能相同,從第 m 個字符開始,截取 n 個字符并回傳,

例如:

mysql> SELECT
    -> company_id,
    -> registration_address,
    -> LEFT(registration_address,6)
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+-------------------------------------------------------------+----------------+| 
company_id | registration_address                              | LEFT(registration_address,6) 
|+------------+------------------------------------------------------------+----------------+| 
000001     | 廣東省深圳市羅湖區深南東路5047| 廣東省深圳市       |
000002     | 廣東省深圳市鹽田區大梅沙環梅路33號萬科中心                      | 廣東省深圳市       |
000004     | 廣東省深圳市南山區中心路(深圳灣段)3333號中鐵南方總部大廈503| 廣東省深圳市       |
000005     | 廣東省深圳市人民南路發展中心大廈13| 廣東省深圳市       |
000006     | 廣東省深圳市羅湖區寶安南路2014號振業大廈B座11-17| 廣東省深圳市       | 
000007     | 廣東省深圳市華強北路1058號現代之窗大廈A座25| 廣東省深圳市        | 
000008     | 北京市海淀區高梁橋斜街59號院1號樓161606                      | 北京市海淀區        | 
000009     | 廣東省深圳市筍崗東路1002號寶安廣場A座28-29| 廣東省深圳市        |
+------------+-----------------------------------------------------------+--------------------+
8 rows in set (0.00 sec)

mysql> SELECT
    -> company_id,
    -> web_address,
    -> RIGHT(web_address,CHAR_LENGTH(web_address)-4) AS web_address
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+-------------------------+---------------------+
| company_id | web_address             | web_address         |
+------------+-------------------------+---------------------+
| 000001     | www.bank.pingan.com     | bank.pingan.com     |
| 000002     | www.vanke.com           | vanke.com           |
| 000004     | www.sz000004.cn         | sz000004.cn         |
| 000005     | www.fountain.com.cn     | fountain.com.cn     |
| 000006     | www.zhenye.com          | zhenye.com          |
| 000007     | None                    |                     |
| 000008     | www.shenzhou-gaotie.com | shenzhou-gaotie.com |
| 000009     | www.chinabaoan.com      | chinabaoan.com      |
+------------+-------------------------+---------------------+
8 rows in set (0.01 sec)

mysql> SELECT
    -> company_id,
    -> registration_address,
    -> SUBSTRING(registration_address,7) AS registration_address
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+------------------------------------------------+-------------------------
+| company_id | registration_address                           | registration_address  
|+------------+------------------------------------------------+------------------------
| 000001  | 廣東省深圳市羅湖區深南東路5047| 羅湖區深南東路5047|
| 000002  | 廣東省深圳市鹽田區大梅沙環梅路33號萬科中心         | 鹽田區大梅沙環梅路33號萬科中心  |
| 000004  | 廣東省深圳市南山區中心路(深圳灣段)3333號中鐵南方總部大廈503| 南山區中心路(深圳灣段)3333號中鐵南方總部大廈503|
| 000005  | 廣東省深圳市人民南路發展中心大廈13| 人民南路發展中心大廈13|
| 000006  | 廣東省深圳市羅湖區寶安南路2014號振業大廈B座11-17| 羅湖區寶安南路2014號振業大廈B座11-17|
| 000007  | 廣東省深圳市華強北路1058號現代之窗大廈A座25| 華強北路1058號現代之窗大廈A座25|
| 000008  | 北京市海淀區高梁橋斜街59號院1號樓161606         | 高梁橋斜街59號院1號樓161606    |
| 000009  | 廣東省深圳市筍崗東路1002號寶安廣場A座28-29| 筍崗東路1002號寶安廣場A座28-29|
+------------+----------------------------------------------+-----------------------------
8 rows in set (0.00 sec)

mysql> SELECT
    -> company_id,
    -> registration_address,
    -> SUBSTRING(registration_address,4,3) AS registration_address
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+--------------------------------------------------------+----------------------+| company_id | registration_address                                 | registration_address |
+------------+-------------------------------------------------------------------+------------+
| 000001     | 廣東省深圳市羅湖區深南東路5047| 深圳市     |
| 000002     | 廣東省深圳市鹽田區大梅沙環梅路33號萬科中心                            | 深圳市     |
| 000004     | 廣東省深圳市南山區中心路(深圳灣段)3333號中鐵南方總部大廈503| 深圳市     |
| 000005     | 廣東省深圳市人民南路發展中心大廈13| 深圳市     |
| 000006     | 廣東省深圳市羅湖區寶安南路2014號振業大廈B座11-17| 深圳市     |
| 000007     | 廣東省深圳市華強北路1058號現代之窗大廈A座25| 深圳市     |
| 000008     | 北京市海淀區高梁橋斜街59號院1號樓161606                            | 海淀區     |
| 000009     | 廣東省深圳市筍崗東路1002號寶安廣場A座28-29| 深圳市     |
+------------+---------------------------------------------------+--------------------------+| 
8 rows in set (0.03 sec)

13、查找字串函式

查找字串函式用于查找某個字串在另一個字串中出現的位置,一共有兩個,語法如下:

LOCATE(str1,str2);
POSITION(str1 in str2);

--說明:1)如果 str1 是 str2 的子字串,則回傳子字串第一次出現的位置,否則回傳0,
(2)LOCATE 函式和 POSTION 函式用法相同,不同點是 LOCATE 函式的兩個引數用逗號隔開,POSITION 函式的兩個引數用 in 隔開,

舉例:

mysql> SELECT
    -> company_id,
    -> company_abbreviation,
    -> registration_address
    -> FROM 
    -> company_information
    -> WHERE
    -> LOCATE('深圳市羅湖區',registration_address) > 0;
+------------+----------------------+-----------------------------------------------------+
| company_id | company_abbreviation | registration_address                                |
+------------+----------------------+----------------------------------------------------+
| 000001     | 平安銀行             | 廣東省深圳市羅湖區深南東路5047|
| 000006     | 深振業A             | 廣東省深圳市羅湖區寶安南路2014號振業大廈B座11-17|
| 000040     | 東旭藍天             | 廣東省深圳市羅湖區東門中路1011號鴻基大廈25-27|
| 000048     | 康達爾               | 廣東省深圳市羅湖區深南東路1086號集浩大廈二、三樓       |
| 000061     | 農產品               | 廣東省深圳市羅湖區布吉路1021號天樂大廈22|
| 000099     | 中信海直             | 廣東省深圳市羅湖區解放西路188|
| 002285     | 世聯行               | 廣東省深圳市羅湖區深南東路2028號羅湖商務中心12|
| 002325     | 洪濤股份             | 廣東省深圳市羅湖區泥崗西洪濤路17|
| 002482     | 廣田集團             | 廣東省深圳市羅湖區深南東路2098|
| 002620     | 瑞和股份             | 廣東省深圳市羅湖區深南東路3027號瑞和大廈               |
| 002736     | 國信證券             | 廣東省深圳市羅湖區紅嶺中路1012號國信證券大廈十六層至二十六層    |
| 002740     | 愛迪爾               | 廣東省深圳市羅湖區東曉路1005號北樓二、三樓             |
| 002822     | 中裝建設             | 廣東省深圳市羅湖區深南東路4002號鴻隆世紀廣場四-五層(僅限辦公)  |
| 002830     | 名雕股份             | 廣東省深圳市羅湖區寶安北筍崗倉831830號陸層615616|
| 300532     | 今天國際             | 廣東省深圳市羅湖區筍崗東路1002寶安廣場A座10樓F、G、H      |
| 600892     | 大晟文化             | 廣東省深圳市羅湖區筍崗東路3012號中民時代廣場B座2103|
+------------+---------------------+---------------------------------------------------------+
16 rows in set (0.02 sec)

mysql> SELECT
    -> company_id,
    -> company_abbreviation,
    -> registration_address,
    -> LOCATE('路',registration_address) AS locate
    -> FROM 
    -> company_information
    -> WHERE
    -> LOCATE('深圳市羅湖區',registration_address) > 0;
+------------+----------------------+------------------------------------------------+--------+
| company_id | company_abbreviation | registration_address                           | locate |
+------------+----------------------+----------------------------------------------+--------+
| 000001     | 平安銀行  | 廣東省深圳市羅湖區深南東路5047|     13 |
| 000006     | 深振業A  | 廣東省深圳市羅湖區寶安南路2014號振業大廈B座11-17|     13 |
| 000040     | 東旭藍天  | 廣東省深圳市羅湖區東門中路1011號鴻基大廈25-27|     13 |
| 000048     | 康達爾    | 廣東省深圳市羅湖區深南東路1086號集浩大廈二、三樓             |     13 |
| 000061     | 農產品    | 廣東省深圳市羅湖區布吉路1021號天樂大廈22|     12 |
| 000099     | 中信海直  | 廣東省深圳市羅湖區解放西路188|     13 |
| 002285     | 世聯行    | 廣東省深圳市羅湖區深南東路2028號羅湖商務中心12|     13 |
| 002325     | 洪濤股份  | 廣東省深圳市羅湖區泥崗西洪濤路17|     15 |
| 002482     | 廣田集團  | 廣東省深圳市羅湖區深南東路2098|     13 |
| 002620     | 瑞和股份  | 廣東省深圳市羅湖區深南東路3027號瑞和大廈                     |     13 |
| 002736     | 國信證券  | 廣東省深圳市羅湖區紅嶺中路1012號國信證券大廈十六層至二十六層   |     13 |
| 002740     | 愛迪爾    | 廣東省深圳市羅湖區東曉路1005號北樓二、三樓                   |     12 |
| 002822     | 中裝建設  | 廣東省深圳市羅湖區深南東路4002號鴻隆世紀廣場四-五層(僅限辦公)|     13 |
| 002830     | 名雕股份  | 廣東省深圳市羅湖區寶安北筍崗倉831830號陸層615616|      0 |
| 300532     | 今天國際  | 廣東省深圳市羅湖區筍崗東路1002寶安廣場A座10樓F、G、H          |     13 |
| 600892     | 大晟文化  | 廣東省深圳市羅湖區筍崗東路3012號中民時代廣場B座2103|     13 |
+------------+----------------------+--------------------------------------------------+--------+
16 rows in set (0.01 sec)

mysql> SELECT
    -> company_id,
    -> company_abbreviation,
    -> web_address,
    -> POSITION('e' in web_address) AS POSITION
    -> FROM 
    -> company_information
    -> WHERE
    -> LOCATE('深圳市羅湖區',registration_address) > 0;
+------------+----------------------+-----------------------+----------+
| company_id | company_abbreviation | web_address           | POSITION |
+------------+----------------------+-----------------------+----------+
| 000001     | 平安銀行             | www.bank.pingan.com   |        0 |
| 000006     | 深振業A             | www.zhenye.com        |        7 |
| 000040     | 東旭藍天             | www.bahjdc.com        |        0 |
| 000048     | 康達爾               | www.kondarl.com       |        0 |
| 000061     | 農產品               | www.szap.com          |        0 |
| 000099     | 中信海直             | www.cohc.citic        |        0 |
| 002285     | 世聯行               | www.worldunion.com.cn |        0 |
| 002325     | 洪濤股份             | www.szhongtao.cn      |        0 |
| 002482     | 廣田集團             | www.szgt.com          |        0 |
| 002620     | 瑞和股份             | www.sz-ruihe.com      |       12 |
| 002736     | 國信證券             | www.guosen.com.cn     |        9 |
| 002740     | 愛迪爾               | www.idr.com.cn        |        0 |
| 002822     | 中裝建設             | www.zhongzhuang.com   |        0 |
| 002830     | 名雕股份             | www.mingdiao.com.cn   |        0 |
| 300532     | 今天國際             | www.nti56.com         |        0 |
| 600892     | 大晟文化             | www.baochengshare.com |       10 |
+------------+----------------------+-----------------------+----------+
16 rows in set (0.00 sec)

14、REPEAT() 函式

REPEAT() 函式生成一個由某字串重復 n 次組成的字串,語法格式如下:

REPEAT(str,n);

--說明:生成一個由 n 個 str 連接而成的字串,

舉例:

mysql> SELECT 
    -> company_id,
    -> company_abbreviation,
    -> CONCAT(company_abbreviation,REPEAT('=',3),web_address) AS repeat_string
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+----------------------+----------------------------------------+
| company_id | company_abbreviation | repeat_string                          |
+------------+----------------------+----------------------------------------+
| 000001     | 平安銀行             | 平安銀行===www.bank.pingan.com         |
| 000002     | 萬科A               | 萬科A===www.vanke.com                 |
| 000004     | 國農科技             | 國農科技===www.sz000004.cn             |
| 000005     | 世紀星源             | 世紀星源===www.fountain.com.cn         |
| 000006     | 深振業A             | 深振業A===www.zhenye.com              |
| 000007     | 全新好               | 全新好===None                          |
| 000008     | 神州高鐵             | 神州高鐵===www.shenzhou-gaotie.com     |
| 000009     | 中國寶安             | 中國寶安===www.chinabaoan.com          |
+------------+----------------------+----------------------------------------+
8 rows in set (0.00 sec)

15、LPAD() 與 RPAD() 函式

LPAD() 與 RPAD() 函式分別在一個字串的前端或后端填充若干個字符,使字串達到指定的長度,語法格式如下:

LPAD(str,len,padstr);
RPAD(str,len,padstr);

--說明:1)把字串 str 用 padstr 字串填充到長度為 len,并回傳長度為 len 的字串,
(2)LPAD 函式 str 字串右對齊,padstr 從左邊填充,
(3)RPAD 函式 str 字串左對齊,padstr 從右端填充,

舉例:

mysql> SELECT
    -> company_id,
    -> web_address,
    -> CONCAT(RPAD(company_abbreviation,6,'='),web_address) AS rpad
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+-------------------------+---------------------------------------+
| company_id | web_address             | rpad                                  |
+------------+-------------------------+---------------------------------------+
| 000001     | www.bank.pingan.com     | 平安銀行==www.bank.pingan.com         |
| 000002     | www.vanke.com           | 萬科A===www.vanke.com                |
| 000004     | www.sz000004.cn         | 國農科技==www.sz000004.cn             |
| 000005     | www.fountain.com.cn     | 世紀星源==www.fountain.com.cn         |
| 000006     | www.zhenye.com          | 深振業A==www.zhenye.com              |
| 000007     | None                    | 全新好===None                         |
| 000008     | www.shenzhou-gaotie.com | 神州高鐵==www.shenzhou-gaotie.com     |
| 000009     | www.chinabaoan.com      | 中國寶安==www.chinabaoan.com          |
+------------+-------------------------+---------------------------------------+
8 rows in set (0.00 sec)

mysql> SELECT
    -> company_id,
    -> web_address,
    -> CONCAT(RPAD(web_address,30,'*'),company_abbreviation) AS rpad
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+-------------------------+--------------------------------------------+
| company_id | web_address             | rpad                                       |
+------------+-------------------------+--------------------------------------------+
| 000001     | www.bank.pingan.com     | www.bank.pingan.com***********平安銀行     |
| 000002     | www.vanke.com           | www.vanke.com*****************萬科A       |
| 000004     | www.sz000004.cn         | www.sz000004.cn***************國農科技     |
| 000005     | www.fountain.com.cn     | www.fountain.com.cn***********世紀星源     |
| 000006     | www.zhenye.com          | www.zhenye.com****************深振業A     |
| 000007     | None                    | None**************************全新好       |
| 000008     | www.shenzhou-gaotie.com | www.shenzhou-gaotie.com*******神州高鐵     |
| 000009     | www.chinabaoan.com      | www.chinabaoan.com************中國寶安     |
+------------+-------------------------+--------------------------------------------+
8 rows in set (0.00 sec)

16、SPACE() 函式

SPACE() 函式生成由若干個空格構成的字串,語法格式如下:

SPACE(n);

--說明:
回傳由 n 個空格構成的字串,

17、SUBSTRING_INDEX() 函式

SUBSTRING_INDEX() 函式的語法格式如下:

SUBSTRING_INDEX(str,delimiter,n);

--說明:1)如果 n 大于 0,回傳從左邊數第 n 個 delimiter 所表示字符的左邊的所有內容,
(2)如果 n 小于 0,回傳從右邊數第 n 個 delimiter 所表示字符的右邊的所有內容,

舉例:

mysql> SELECT
    -> company_id,
    -> company_abbreviation,
    -> web_address,
    -> SUBSTRING_INDEX(web_address,'.',-1) AS SUBSTRING_INDEX
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+----------------------+-------------------------+-----------------+
| company_id | company_abbreviation | web_address             | SUBSTRING_INDEX |
+------------+----------------------+-------------------------+-----------------+
| 000001     | 平安銀行             | www.bank.pingan.com     | com             |
| 000002     | 萬科A               | www.vanke.com           | com             |
| 000004     | 國農科技             | www.sz000004.cn         | cn              |
| 000005     | 世紀星源             | www.fountain.com.cn     | cn              |
| 000006     | 深振業A             | www.zhenye.com          | com             |
| 000007     | 全新好               | None                    | None            |
| 000008     | 神州高鐵             | www.shenzhou-gaotie.com | com             |
| 000009     | 中國寶安             | www.chinabaoan.com      | com             |
+------------+----------------------+-------------------------+-----------------+
8 rows in set (0.03 sec)

mysql> SELECT
    -> company_id,
    -> company_abbreviation,
    -> web_address,
    -> SUBSTRING_INDEX(web_address,'.',1) AS SUBSTRING_INDEX
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+----------------------+-------------------------+-----------------+
| company_id | company_abbreviation | web_address             | SUBSTRING_INDEX |
+------------+----------------------+-------------------------+-----------------+
| 000001     | 平安銀行             | www.bank.pingan.com     | www             |
| 000002     | 萬科A               | www.vanke.com           | www             |
| 000004     | 國農科技             | www.sz000004.cn         | www             |
| 000005     | 世紀星源             | www.fountain.com.cn     | www             |
| 000006     | 深振業A             | www.zhenye.com          | www             |
| 000007     | 全新好               | None                    | None            |
| 000008     | 神州高鐵             | www.shenzhou-gaotie.com | www             |
| 000009     | 中國寶安             | www.chinabaoan.com      | www             |
+------------+----------------------+-------------------------+-----------------+
8 rows in set (0.01 sec)

18、REVERSE() 函式

REVERSE() 函式對一個字串中的內容進行翻轉,語法格式如下:

REVERSE(str);

--說明:
回傳str的翻轉字串,

舉例:

mysql> SELECT
    -> company_id,
    -> company_abbreviation,
    -> web_address,
    -> REVERSE(web_address) AS REVERSE
    -> FROM 
    -> company_information
    -> WHERE
    -> company_id < '000010';
+------------+----------------------+-------------------------+-------------------------+
| company_id | company_abbreviation | web_address             | REVERSE                 |
+------------+----------------------+-------------------------+-------------------------+
| 000001     | 平安銀行             | www.bank.pingan.com     | moc.nagnip.knab.www     |
| 000002     | 萬科A               | www.vanke.com           | moc.eknav.www           |
| 000004     | 國農科技             | www.sz000004.cn         | nc.400000zs.www         |
| 000005     | 世紀星源             | www.fountain.com.cn     | nc.moc.niatnuof.www     |
| 000006     | 深振業A             | www.zhenye.com          | moc.eynehz.www          |
| 000007     | 全新好               | None                    | enoN                    |
| 000008     | 神州高鐵             | www.shenzhou-gaotie.com | moc.eitoag-uohznehs.www |
| 000009     | 中國寶安             | www.chinabaoan.com      | moc.naoabanihc.www      |
+------------+----------------------+-------------------------+-------------------------+
8 rows in set (0.00 sec)

CREATE INDEX idx_web_address 


ALTER TABLE company_information
ADD INDEX idx_web_address (REVERSE(web_address));

SELECT
company_id,
company_abbreviation,
web_address,
REVERSE(web_address) AS REVERSE
FROM 
company_information
WHERE
company_id < '000010';

為 company_information 表創建一個計算列,該列的內容為 web_address 欄位內容的翻轉,然后為虛擬列創建索引,

-- 創建計算列
mysql> ALTER TABLE company_information
    -> ADD reverse_web varchar(50) AS (REVERSE(web_address));
Query OK, 0 rows affected (0.34 sec)
Records: 0  Duplicates: 0  Warnings: 0
-- 根據計算列創建索引
mysql> CREATE INDEX idx_reverse_web 
    -> ON company_information(reverse_web);
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> SHOW CREATE TABLE company_information\G
*************************** 1. row ***************************
       Table: company_information
Create Table: CREATE TABLE `company_information` (
  `company_id` char(6) NOT NULL,
  `company_abbreviation` char(20) DEFAULT NULL,
  `company_fullname` char(100) DEFAULT NULL,
  `English_name` char(200) DEFAULT NULL,
  `registration_address` char(200) DEFAULT NULL,
  `web_address` char(200) DEFAULT NULL,
  `reverse_web` varchar(50) GENERATED ALWAYS AS (reverse(`web_address`)) VIRTUAL,
  PRIMARY KEY (`company_id`),
  KEY `idx_reverse_web` (`reverse_web`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

mysql> explain 
    -> SELECT
    -> *
    -> FROM 
    -> company_information
    -> WHERE reverse_web = REVERSE('www.wanke.com')\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: company_information
   partitions: NULL
         type: ref
possible_keys: idx_reverse_web
          key: idx_reverse_web
      key_len: 153
          ref: const
         rows: 1
     filtered: 100.00
        Extra: NULL
1 row in set, 1 warning (0.00 sec)

19、STRCMP() 函式

STRCMP() 函式用于比較兩個字串的大小,語法如下:

STRCMP(str1,str2);

說明:
(1)根據比較規則,如果字串 str1 大于 str2,回傳 1,
(2)如果字串 str1 小于 str2,回傳 -1,
(3)如果字串 str1 和 str2 完全相同,則回傳 0

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/200208.html

標籤:其他

上一篇:PostgreSQL 重復資料處理

下一篇:《Oracle MySQL編程自學與面試指南》02-03:資料操作

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more