SQL 字符串函數:概述

已發表: 2022-05-24

無論返回值的數據類型如何,都接受字符串值作為輸入的函數稱為字符串函數。 SQL Server 中有大量內置的 SQL 字符串函數供開發人員使用。 本文將列出最常用的 SQL 字符串函數,這些函數使 SQL 編程更容易。

目錄

常用的 SQL 字符串函數

ASCII

我們將看到的第一個 SQL 字符串函數是 ASCII()。 此標量函數通過接受給定字符串作為輸入並返回該字符串中第一個字符的相應 ASCII 代碼來工作。 使用這個 SQL 字符串函數,我們可以找出字符串最左邊字符的數值。 如果字符串為空,則返回 0。如果字符串為空,函數將返回 NULL 作為輸出。

在 ASCII 功能下,可以識別數值範圍為 0 到 255 的字符。

長度()

使用此函數,可以找到以字符計算的字符串長度。 多字節字符被視為單個字符。 這意味著函數 LENGTH() 將輸出 20 作為包含十個兩字節字符的字符串,而 CHAR LENGTH() 返回 10。

康卡特

CONCAT() 是另一個標量 SQL 字符串函數,它接受多個字符串作為輸入,並在將它們全部連接後返回單個字符串作為輸出。

可能有一個或多個論點。 此功能最多允許 254 個輸入。 如果所有輸入參數都是非二進製字符串,則 CONCAT SQL 的結果將是一個非二進製字符串。 但是,如果任何參數是二進製字符串,則結果是二進製字符串。 如果您不希望數字輸入參數返回其對應的二進製文本。

CONCAT_WS()

CONCAT WS() 是 CONCAT 的一種特殊形式,代表 Concatenate With Separator ()。 它與 CONCAT() 函數相同,不同之處在於它允許您在連接的文本之間定義分隔符。 它可用於創建以逗號分隔的值。 第一個參數用作其他參數之間的分隔符。

在要連接的字符串之間,添加一個分隔符。 與其他輸入一樣,分隔符可以是字符串。 如果分隔符為 NULL,則答案為 NULL。

修剪

TRIM() 函數從字符串中刪除所有前綴和後綴。 如果沒有指定說明符 BOTH、LEADING 或 TRAILING,則假定 BOTH。 如果沒有另外提及,空格將被刪除。 下面是一個示例來說明 TRIM 函數:

SQL> SELECT TRIM('條');

+————————————————————+

| TRIM('狗') |

+————————————————————+

| 狗 |

+————————————————————+

一組中的 1 行(0.00 秒)

SQL> SELECT TRIM(LEADING 'r' FROM 'rrrrrrdogrrrrr');

+————————————————————+

| TRIM(前導 'r' 來自 rrrrr'dogrrrrr') |

+————————————————————+

| 狗拉拉 |

+————————————————————+

一組中的 1 行(0.00 秒)

SQL> SELECT TRIM(BOTH 'rx' FROM 'rrrrrrdogrrrrr'');

+————————————————————+

| 修剪(兩個'r'來自'rrrrrrdogrrrrr')|

+————————————————————+

| 狗 |

+————————————————————+

一組中的 1 行(0.00 秒)

SQL> SELECT TRIM(TRAILING 'xyz' FROM 'dogrrrrxyz');

+————————————————————+

| 修剪(尾隨 'xyz' 從 'dogrrrrrrxyz') |

+————————————————————+

| 狗拉拉 |

+————————————————————+

一組中的 1 行(0.00 秒)

聲音()

SOUNDEX() 是一維標量函數。 SOUNDEX() 主要用於匹配字符串並將行鏈接在一起。 對於聽起來幾乎相同的兩個字符串,Soundex 字符串應該相同。 它將一個字符串作為輸入,並根據該字符串的發音方式生成一個四字符的字符串。

但是,SOUNDEX() 函數返回一個有點長且隨機長度的字符串。 要獲得典型的 Soundex 字符串,請對結果使用 SUBSTRING()。 代碼的第一個字符從輸入字符串的第一個字符轉換為大寫。

代碼的剩餘字符是表示表達式字母的整數。 A、O、U、E、I、Y、H、W)是唯一未被忽略的字母(除非它們是首字母)。 如果字符串長度小於 4,則在返回的結果中附加額外的零。在 AZ 範圍之外,所有國際字母都被視為元音。

小寫大寫

用於更改輸入字符串的字符大小寫的典型 SQL 字符串函數是 LOWER() 和 UPPER() 函數。 函數 LOWER() 和 UPPER() 分別用於將字母大小寫修改為小寫和大寫。

左右

最常用的 SQL 字符串函數之一是 LEFT() 和 RIGHT() 函數。 它們用於從字符串的左側或右側提取一定數量的字符。

閱讀我們與軟件開發相關的熱門文章

如何在 Java 中實現數據抽象? Java中的內部類是什麼? Java 標識符:定義、語法和示例
通過示例了解 OOPS 中的封裝 C 中的命令行參數解釋 2022 年雲計算的 10 大特點和特點
Java 中的多態性:概念、類型、特徵和示例 Java 中的包以及如何使用它們? Git 初學者教程:從零開始學習 Git

SUBSTRING_INDEX()

SQL Substring 函數在計算分隔符出現之前從字符串中返回子字符串。 從左側計數時,如果計數為正,則返回最後一個分隔符左側的所有內容。 從右側開始計數時,如果計數為負,則返回最後一個分隔符右側的所有內容。 查找 delim 時,SUBSTRING INDEX() 使用區分大小寫的匹配。

SQL > SELECT SUBSTRING ( '基因',5);

+————————————————————+

| SSUBSTRING('遺傳',5) |

+————————————————————+

| 抽搐 |

+————————————————————+

一組中的 1 行(0.00 秒)

SQL> SELECT SUBSTRING('Weighed on' barbarb 4);

+————————————————————+

| SUBSTRING('基因' FROM 4) |

+————————————————————+

| 倫理學|

+————————————————————+

一組中的 1 行(0.00 秒)

SQL> SELECT SUBSTRING('基因',5,6);

+————————————————————+

| SUBSTRING('基因',5,6) |

+————————————————————+

| 提要 |

+————————————————————+

一組中的 1 行(0.00 秒)

SUBSTRING_INDEX(str,delim,count)

它在計數 delim 出現之前從“str”返回子字符串。 如果計數為正,則返回最終分隔符左側(從左側開始計數)的所有內容。 如果計數為負數,則返回最終分隔符右側(從右側開始計數)的所有內容。 SUBSTRING_INDEX() 在搜索 delim 時執行區分大小寫的匹配。

SQL> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);

+————————————————————+

| SUBSTRING_INDEX('www.mysql.com', '.', 2) |

+————————————————————+

| www.mysql |

+————————————————————+

一組中的 1 行(0.00 秒)

下表提供了字符串函數的概述。

SL 號字符串函數快速說明
1 ASCII() 返回最左邊字符的數值
2 BIT_LENGTH() 返回參數的長度(以位為單位)
3 CHAR_LENGTH() 返回字符串中存在的字符數
4 垃圾桶() 返回參數的字符串表示
5 字符() 返回傳遞的每個整數的字符
7 CONCAT_WS() 返回與分隔符連接
8 連接() 返回連接的字符串
9 轉換() 在不同的數字基數之間轉換數字
10 埃爾特() 返回索引號處的字符串
11 EXPORT_SET() 以某種方式返回一個字符串,對於值位中設置的各個位,有一個 on 字符串,對於每個未設置的位,有一個 off 字符串
12 場地() 返回後續參數中第一個參數的索引(位置)
13 FIND_IN_SET() 返回第二個參數中第一個參數的索引位置
14 格式() 返回格式化為指定小數位數的數字
15 十六進制() 返回十六進制值的字符串表示
16 插入() 在指定位置插入一個子字符串,最多指定字符數
17 指令() 返回子字符串第一次出現的索引
19 剩下() 返回指定的最左邊的字符數
20 長度() 返回字符串的長度(以字節為單位)
21 加載文件() 加載命名文件
22 定位() 返回子字符串第一次出現的位置
23 降低() 以小寫形式返回參數
24 LPAD() 返回字符串參數,左填充指定的字符串
25 LTRIM() 刪除前導空格
26 MAKE_SET() 返回一組逗號分隔的字符串,這些字符串在 bits 集中具有相應的位
27 中() 返回從指定位置開始的子字符串
28 華僑城() 返回八進制參數的字符串表示
29 ORD() 如果參數的最左邊字符是多字節字符,則返回該字符的代碼
30 引用() 轉義參數以在 SQL 語句中使用

探索我們流行的軟件工程課程

SL。 不 軟件開發計劃
1 LJMU & IIITB 計算機科學碩士 加州理工學院 CTME 網絡安全證書課程
2 全棧開發訓練營 區塊鏈中的 PG 程序
3 軟件開發行政研究生課程 - DevOps 專業化 查看所有軟件工程課程

結論

通過本文,我們試圖闡明開發人員在使用 SQL 編程時可以使用的各種 SQL 字符串函數。 鑑於跨行業對數據庫管理系統的需求不斷增長,對於初露頭角的 SQL 開發人員來說,現在正是學習 SQL 以確保在該領域獲得豐厚職業生涯的好時機。

如果您希望增加在軟件開發領域取得成功的機會,我們推薦普渡大學的全棧開發證書課程 這個為期 13 個月的課程旨在針對計算機科學基礎、軟件開發流程、構建強大且可擴展的網站、後端 API 以及豐富的交互式 Web UI 等主題。

從世界頂級大學在線學習軟件開發課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

今天就聯繫我們預訂您的座位!

TRIM 功能有什麼作用?

TRIM 函數用於消除給定字符串可能具有的任何前綴和後綴。 如果沒有任何說明符,則默認情況下在 TRIM 函數中假定 BOTH。即 BOTH、LEADING 或 TRAILING。 如果未另外指定空格,則默認情況下將在運行 TRIM 函數時消除空格。

DIFFERENCE 字符串函數是如何工作的?

DIFFERENCE 是一個標量 SQL 字符串函數,用於使用 SOUNDEX(另一個 SQL 字符串函數)比較任意兩個給定字符串。 將 SOUNDEX 應用於給定輸入後,將對輸出進行相似性檢查。 這將產生一個介於 0 到 4 個整數之間的數字的結果。 當這個數字接近 4 時,輸入將變得非常相似。

解釋 ASCII

ASCII 是美國信息交換標準代碼的首字母縮寫。 在編程語言中,ASCII 被稱為 7 位字符代碼,其中每個字符位表示可用於各種應用的不同字符。