字串函式用於對字元和二進位制字串進行各種操作,大多數字符串函式只能作用於char、nchar、varchar和nvarchar資料型別。字串函式可以用在SELECT或者WHERE語句中。
1. ASCII()函式
ASCII(character_expression)函式作用於返回字串表示式中最左側字元的ASCII程式碼值。引數character_expression必須是一個char或varchar型別的字串表示式。
示例:
2. CHAR()函式
CHAR(integer_expression)函式將整數型別的ASCII的值轉換為對應的字元,integer_expression是一個介於0~255之間的整數。如果該整數表示式不在此範圍內,將返回NULL。
示例:
3. LEFT()函式
LEFT(character_expression, integer_expression)函式返回字串左邊開始指定個數的字串、字元或二進位制資料表示式。character_expression是字串表示式,可以是常量、變數或欄位。integer_expression為正整數,指定character_expression將返回的字元數。
示例:
4. RIGHT()函式
與LEFT()函式相反,RIGHT(character_expression, integer_expression)返回字串character_expression最右邊integer_expression個字元。
示例:
SELECT RIGHT('LINQ to SQL', 3)
5. LTRIM()函式
LTRIM(character_expression)用於去除字串左邊多餘的空格。
語法:
LTRIM ( character_expression )
6. RTRIM()函式
RTRIM(character_expression)用於去除字串右邊多餘的空格。
語法:
RTRIM ( character_expression )
7. STR()函式
語法:
STR ( float_expression [ , length [ , decimal ] ] )
STR()函式用於將數值資料轉換為字元資料。
◊ float_expression 是一個帶小數的近似數字資料型別的表示式。
◊ length 表示總長度,包括小數點、符號、數字以及空格。預設值為10.
◊ decimal 指定小數點後的位數
示例:
若未指定小數,則只返回整數部分
指定返回的小數位數
當表示式超出指定長度時,字串為指定長度返回 **。
8. REVERSE()函式
REVERSE()函式返回字串值的逆序,語法:
REVERSE ( string_expression )
示例:
9. LEN()函式
返回指定字串表示式的字元數,其中不包含尾隨空格,但前空格會包含在內。LEN對相同的單位元組和雙位元組符返回相同的值
語法:
LEN ( string_expression )
示例:
10. CHARINDEX()函式
在一個表示式中搜尋另一個表示式並返回其起始位置(如果找到)。返回的起始位置從 1 開始,而不是從 0 開始。若未找到,則返回0。
語法:
CHARINDEX ( expressionToFind ,expressionToSearch [ , start_location ] )
示例:
從指定位置開始查詢:
11. SUBSTRING()函式
返回 SQL Server 中的字元、二進位制、文字或影象表示式的一部分。
語法:
SUBSTRING ( expression ,start , length )
◊ start指定返回字元的起始位置的整數或表示式。
◊ length是正整數或指向expression的字元數的表示式。
◊ length 不能是負數
示例:
12. LOWER()函式
將大寫字元資料轉換為小寫字元資料後返回字元表示式。
語法:
LOWER ( character_expression )
示例:
SELECT LOWER('ABcdEFG')
13. UPPER()函式
將小寫字元資料轉換為大寫字元資料後返回字元表示式。
語法:
UPPER ( character_expression )
14. REPLACE()函式
用另一個字串值替換出現的所有指定字串值。
語法:
REPLACE ( string_expression , string_pattern , string_replacement )
示例: