詳解MySQL中的字元串拼接函數
雖然SQL server和My sql的語句基本都一致,但是仍然存在一些小區別。就如字元串的連接來說,SQL server中的字元串連接是使用「+」來連接,不帶引號sql server是做加法運算。而my sql中無論是帶引號和不帶引號,它都將其先轉成數字型,然後在做運算。
CONCAT_WS(separator,str1,str2,…)
說明 : string1,string2代表字元串,concat_ws 代表 concat with separator,第一個參數是其它參數的分隔符。分隔符的位置放在要連接的兩個字元串之間。分隔符可以是一個字元串,也可以是其它參數。如果分隔符為 NULL,則結果為 NULL。函數會忽略任何分隔符參數後的 NULL 值。
CONCAT函數
功能:連接一個或多個字元串,然後返回連接後的字元串。
函數形式:CONCAT(str1,str2,…)
示例1:單個字元串連接
mysql> select concat(『Hello』);
+—————–+
| concat(『Hello』) |
+—————–+
| Hello |
+—————–+
1 row in set (0.00 sec)
示例2:連接多個字元串
mysql> select concat(『Hello』,』 『,』world』);
+—————————–+
| concat(『Hello』,』 『,』world』) |
+—————————–+
| Hello world |
+—————————–+
1 row in set (0.00 sec)
示例3:任意連接的字元串為NULL,則連接後返回的結果也為NULL
mysql> select concat(『Hello』,』 『,』world』,null);
+———————————-+
| concat(『Hello』,』 『,』world』,null) |
+———————————-+
| NULL |
+———————————-+
1 row in set (0.00 sec)
CONCAT_WS函數
功能:通過指定的「連接符」連接一個或多個字元串,然後返回連接後的字元串。
函數形式:CONCAT_WS(separator,str1,str2,…)
示例1:通過下劃線連接多個字元串
mysql> select concat_ws(『_』,』功能編號』,』需求編號』,』用例編號』);
+————————————————————-+
| concat_ws(『_』,』功能編號』,』需求編號』,』用例編號』) |
+————————————————————-+
| 功能編號_需求編號_用例編號 |
+————————————————————-+
1 row in set (0.00 sec)
示例2:當連接的字元串中存在NULL時,則連接後返回的結果不為NULL
mysql> select concat_ws(『_』,』功能編號』,』需求編號』,』用例編號』,null);
+——————————————————————+
| concat_ws(『_』,』功能編號』,』需求編號』,』用例編號』,null)
+——————————————————————+
| 功能編號_需求編號_用例編號
+——————————————————————+
1 row in set (0.00 sec)
示例3:當分隔符為null時,則返回的結果也為NULL
mysql> select concat_ws(null,』功能編號』,』需求編號』,』用例編號』);
+————————————————————–+
| concat_ws(null,』功能編號』,』需求編號』,』用例編號』)
+————————————————————–+
| NULL
+————————————————————–+
1 row in set (0.00 sec)
GROUP_CONCAT函數
功能:將屬於同一分組的值進行連接,然後按分組返回結果字元串。
函數形式:GROUP_CONCAT(expr)
示例數據,假設Course表存在以下數據
mysql> select * from Course;
+——-+————–+
| stuId | courseName |
+——-+————–+
| 1001 | 大學語文 |
| 1001 | 原理力學 |
| 1001 | 固體物理 |
| 1002 | 大學英語 |
| 1002 | 專八英語 |
+——-+————–+
5 rows in set (0.00 sec)
示例1:獲取每個學生的所有課程,並在一行顯示
mysql> SELECT stuId, GROUP_CONCAT(courseName) AS courses FROM Course GROUP BY stuId;
+——-+—————————————-+
| stuId | courses
+——-+—————————————-+
| 1001 | 大學語文,原理力學,固體物理
| 1002 | 大學英語,專八英語
+——-+—————————————-+
2 rows in set (0.02 sec)
示例2:GROUP_CONCAT的默認分隔符為「,」,也可通過SEPARATOR定義分隔符
mysql> SELECT stuId, GROUP_CONCAT(courseName SEPARATOR 『&&』) AS courses FROM Course GROUP BY stuId;
+——-+——————————————+
| stuId | courses
+——-+——————————————+
| 1001 | 大學語文&&原理力學&&固體物理
| 1002 | 大學英語&&專八英語
+——-+——————————————+
2 rows in set (0.00 sec)
示例3:對同一分組內的值進行排序後在連接
mysql> SELECT stuId, GROUP_CONCAT(courseName ORDER BY courseName desc) AS courses FROM Course GROUP BY stuId;
+——-+—————————————-+
| stuId | courses
+——-+—————————————-+
| 1001 | 大學語文,固體物理,原理力學
| 1002 | 大學英語,專八英語
+——-+—————————————-+
2 rows in set (0.00 sec)
GDCA是一家提供信息安全證書的運營企業,從事信息安全證書數十載,在信息安全方面擁有雄厚的實力。GDCA已通過WEBTRUST國際認證,具備了國際化的電子認證服務能力。其中,GDCA的 產品之一SSL證書是一種伺服器端的數字證書,它能確保用戶在使用SSL協議進行數據交換時驗證和確保數據安全。GDCA SSL證書使用的加密長度是128/256位。據目前IT技術,40位強度的證書暴力破解耗費4小時,而對於128位證書破解需要一萬億年以上。目前,GDCA SSL證書是國內領先的安全證書。日後,GDCA將會堅持不斷深入研發,為各大網路商業平台提供更安全的信息安全證書,為網路安全虛擬世界貢獻一份微弱的力量。
文章轉載:https://www.trustauth.cn/wiki/21896.html
※超文本標記語言HTML
※網路安全之中間人攻擊
※Google啟動HSTS機制,瀏覽器強制執行HTTPS加密協議
※修復cve-2016-8655漏洞的解決方案
※Apache集成版環境phpStudy配置安https安全套接字層SSL
TAG:數安時代GDCA |