字元轉換
UPPER (Transact-SQL)
傳回小寫字元資料轉換成大寫的字元運算式。
語法
UPPER ( character_expression )
引數
character_expression
這是字元資料的運算式。 character_expression 可以是字元或二進位資料的常數、變數或資料行。
character_expression 必須是可以隱含轉換成 varchar 的資料類型。 否則,請利用 CAST 來明確轉換 character_expression。
傳回類型
varchar 或nvarchar
範例
下列範例會利用 UPPER 和 RTRIM 函數來傳回 Person 資料表中的人員姓氏,因此,這些姓氏是大寫、修剪過,且與名字串連起來。
SELECT UPPER(RTRIM(LastName)) + ', ' + FirstName AS Name FROM Person.Person ORDER BY LastName
字串取代
REPLACE (Transact-SQL)
語法
REPLACE ( string_expression , string_pattern , string_replacement )
引數
string_expression
這是要搜尋的字串運算式。 string_expression 可以是字元或二進位資料類型。
下列範例會利用 UPPER 和 RTRIM 函數來傳回 Person 資料表中的人員姓氏,因此,這些姓氏是大寫、修剪過,且與名字串連起來。
SELECT UPPER(RTRIM(LastName)) + ', ' + FirstName AS Name FROM Person.Person ORDER BY LastName
字串取代
REPLACE (Transact-SQL)
語法
REPLACE ( string_expression , string_pattern , string_replacement )
引數
string_expression
這是要搜尋的字串運算式。 string_expression 可以是字元或二進位資料類型。
string_pattern
這是要尋找的子字串。 string_pattern 可以是字元或二進位資料類型。 string_pattern 不可以是空字串 (''),並且不得超過分頁所能容納的最大位元組數目。
傳回類型
如果其中一個輸入引數是 nvarchar 資料類型,便傳回 nvarchar;否則,REPLACE 會傳回 varchar。
如果任何一個引數是 NULL,便會傳回 NULL。
如果 string_expression 不是 varchar(max) 或 nvarchar(max), 類型,REPLACE 會在 8,000 位元組的位置截斷傳回值。 若要傳回大於 8,000 位元組的值,string_expression 必須明確轉換成大數值資料類型。
備註
REPLACE 會以輸入的定序為基礎來執行比較。 若要執行指定定序的比較,您可以利用 COLLATE,將明確的定序套用至輸入上。
0x0000 (char(0)) 是 Windows 定序中未定義的字元,而且不得包含在 REPLACE 中。
範例
下列範例利用 xxx 來取代 abcdefghi 中的 cde 字串。
SELECT REPLACE('abcdefghicde','cde','xxx'); GO
以下為結果集:
------------ abxxxfghixxx (1 row(s) affected)
下列範例使用 COLLATE 函數。
SELECT REPLACE('Das ist ein Test' COLLATE Latin1_General_BIN, 'Test', 'desk' ); GO
以下為結果集:
------------ Das ist ein desk (1 row(s) affected)
這是要尋找的子字串。 string_pattern 可以是字元或二進位資料類型。 string_pattern 不可以是空字串 (''),並且不得超過分頁所能容納的最大位元組數目。
string_replacement
這是取代字串。 string_replacement 可以是字元或二進位資料類型。
這是取代字串。 string_replacement 可以是字元或二進位資料類型。
傳回類型
如果其中一個輸入引數是 nvarchar 資料類型,便傳回 nvarchar;否則,REPLACE 會傳回 varchar。
如果任何一個引數是 NULL,便會傳回 NULL。
如果 string_expression 不是 varchar(max) 或 nvarchar(max), 類型,REPLACE 會在 8,000 位元組的位置截斷傳回值。 若要傳回大於 8,000 位元組的值,string_expression 必須明確轉換成大數值資料類型。
備註
REPLACE 會以輸入的定序為基礎來執行比較。 若要執行指定定序的比較,您可以利用 COLLATE,將明確的定序套用至輸入上。
0x0000 (char(0)) 是 Windows 定序中未定義的字元,而且不得包含在 REPLACE 中。
範例
下列範例利用 xxx 來取代 abcdefghi 中的 cde 字串。
SELECT REPLACE('abcdefghicde','cde','xxx'); GO
以下為結果集:
------------ abxxxfghixxx (1 row(s) affected)
下列範例使用 COLLATE 函數。
SELECT REPLACE('Das ist ein Test' COLLATE Latin1_General_BIN, 'Test', 'desk' ); GO
以下為結果集:
------------ Das ist ein desk (1 row(s) affected)
沒有留言:
張貼留言