第 1 部分:字串公用程式
似乎在每種程式設計語言中都會出現某些函式。儘管 SQL 在許多方面與典型的程序程式設計語言(如 C# 或 Java)不同,但它也配備了各種令人印象深刻的內建函式。這些可以應用於 CHAR、VARCHAR 和 TEXT 資料類型。每個資料庫供應商並不是以完全相同的方法實作函式的,因此熟悉特定於你所使用的資料庫的函式是值得的。在本系列中,我們將了解一些重要的 SQL 函式,它們是由 SQL Server 實作的。今天的文章將討論字串函式,而後續的部分將探討數字、日期函式,等等!
Len
最有用的字串函式之一是一種以計算字元(包括空格和標點符號)數量傳回字串長度的函式。在微軟的產品中,一直以來都稱這個函式為「LEN」。以下是函式的特徵:
LEN(inputString)
作為一個範例,我們將使用 Navicat for SQL Server 作為我們的資料庫用戶端,在 Sakila 範例資料庫執行一個真正的査詢。査詢以遞減順序來從 film 資料表中選取前 10 個最長的標題:
Trim
想要從字串中去除一些沒有用的字元?那麼 TRIM 函式很適合你!它消除了在作為參數傳遞的字串開頭和結尾的多餘空格和定位字元。這是 TRIM 的特徵:
TRIM(inputString)
我們可以使用 TRIM 來找出我們的電影標題是否有任何開頭或尾端空格,方法是比較已修剪標題的長度和目前的長度:
Concat
在程式設計中,字串的組合稱為串連。因此,CONCAT 函式將兩個或多個作為參數傳入的字串組合在一起。這是它的特徵:
CONCAT(string1, string2, ...., string_n)
CONCAT 函式非常有用,以你和你的使用者都適用的方式將多個欄格式化在一起。以下査詢組合了每部電影的 ID、標題和發行年份,並使用逗號將它們分開:
UPPER 和 LOWER
這兩個對應函式接受一個字串參數並傳回相同的字串,但其所有字元分別轉換為大寫和小寫。
UPPER(inputString)
為了顯示 UPPER 和 LOWER 函式的效果,我們可以按原本大小寫顯示電影標題,以及使用每個函式變更其大小寫:
在 Navicat 中使用函式
Navicat 的 SQL 編輯器的其中一個功能是自動完成程式碼。一旦開始輸入一個單詞,就會出現一個包含所有資料庫物件的建議清單,包括結構描述、資料表、檢視、欄、程序,當然還有函式名稱:
選取函式(或預存程序)後,會突顯輸入參數以供輸入。如果有多個參數,則每個參數都可透過 TAB 鍵聚焦,以便快速存取:
總結
在本系列的第一部分「重要的 SQL Server 函式」中,我們介紹了幾個有用的字串公用程式函式,包括 LEN、TRIM、CONCAT、UPPER 和 LOWER。下一篇文章,我們將討論數字函式。
如果你對 Navicat for SQL Server 感興趣,可以免費試用 14 天!