轉(zhuǎn)帖|使用教程|編輯:鮑佳佳|2020-12-09 11:56:43.313|閱讀 505 次
概述:今天我們將在這里使用的兩個函數(shù)是 LENGTH(str) 和 REPLACE(str, from_str, to_str)。LENGTH() 返回字符串的長度(以字節(jié)為單位);而 REPLACE() 通過執(zhí)行區(qū)分大小寫的匹配,返回字符串 str,并將所有出現(xiàn)的字符串 from_str 替換為字符串 to_str。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Navicat Premium是一個可連接多種數(shù)據(jù)庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數(shù)據(jù)庫,讓管理不同類型的數(shù)據(jù)庫更加的方便。
點(diǎn)擊下載Navicat Premium最新試用版
盡管 SQL 不像 Java、C ++ 和 PHP 這樣的過程編程語言精通字符串處理,但是 SQL 確實提供了許多處理字符串?dāng)?shù)據(jù)的函數(shù)。可以使用這些函數(shù)來修剪多余的空格或字符,確定字符串的長度以及將多個字段值連接在一起。字符串函數(shù)非常值得我們學(xué)習(xí),因為它們可以幫助提高代碼的效率和可讀性。在今天的文章中,我們將學(xué)習(xí)如何使用幾個本機(jī) SQL 字符串函數(shù)來計算 char、varchar 或 text 字段中字符串出現(xiàn)的次數(shù)。
介紹 LENGTH() 和 REPLACE() 函數(shù)
今天我們將在這里使用的兩個函數(shù)是 LENGTH(str) 和 REPLACE(str, from_str, to_str)。LENGTH() 返回字符串的長度(以字節(jié)為單位);而 REPLACE() 通過執(zhí)行區(qū)分大小寫的匹配,返回字符串 str,并將所有出現(xiàn)的字符串 from_str 替換為字符串 to_str。
LENGTH() 函數(shù)返回字符串的長度(以字節(jié)為單位)。這有一些重要的影響,因為這意味著對于包含五個 2 個字節(jié)字符的字符串,LENGTH() 會返回 10。若要計算純字符長度,請改用 CHAR_LENGTH()。
舉個例子:
這是 REPLACE() 函數(shù)的示例,該函數(shù)將 URL 的協(xié)議從“http”更改為“https”:
開始計數(shù)
通過將 LENGTH() 和 REPLACE() 與 ROUND() 函數(shù)結(jié)合使用,我們可以獲得包含文本內(nèi)容的字段中特定子字符串的計數(shù)。這是一個使用 Sakila 示例數(shù)據(jù)庫的例子,在 film 表的 description 字段中返回單詞“Documentary”的計數(shù):
本質(zhì)上,我們的查詢將目標(biāo)子字符串的出現(xiàn)替換為空(””)字符串,并比較結(jié)果字符串的長度。它們之間的區(qū)別是源字段中子字符串出現(xiàn)的次數(shù)。
將查詢整合到用戶函數(shù)中
如果你計劃在許多不同的表上計算字?jǐn)?shù)或使用各種子字符串值,則應(yīng)考慮將主要計算合并到自定義用戶功能中。這是我在 Navicat 中創(chuàng)建的名為“count_string_instances”的函數(shù):
測試函數(shù)
我們可以通過點(diǎn)擊“運(yùn)行”按鈕來就地測試我們的函數(shù)。這將打開一個對話框以接受輸入?yún)?shù):
返回的結(jié)果確認(rèn)該函數(shù)正常運(yùn)行:
從查詢中調(diào)用我們的函數(shù)
函數(shù)準(zhǔn)備好后,我們可以調(diào)用 count_string_instances() 函數(shù)來替換查詢的計算部分。當(dāng)我們開始鍵入函數(shù)名稱時,Navicat 的自動建議列表現(xiàn)在包括我們的函數(shù)!
與所有函數(shù)一樣,插入查詢時,它會帶有可設(shè)置輸入?yún)?shù)。我們可以通過使用 TAB 鍵在它們之間導(dǎo)航
這是更新后的查詢和其結(jié)果:
服務(wù)器有許多 SQL 字符串函數(shù)可以幫助提高代碼的效率和可讀性。結(jié)合使用時,這些功能尤其強(qiáng)大。在今天的文章中,我們學(xué)習(xí)如何通過使用 多功能函數(shù)和存儲過程編輯器創(chuàng)建自定義用戶函數(shù)來計算 char、varchar 或 text 字段中字符串出現(xiàn)的次數(shù)。在慧都17周年慶!限時優(yōu)惠Navicat Premium正版授權(quán)立減1000,一次購買終身享用!點(diǎn)擊查看詳情!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: