SELECT REPLACE('abcdefghicde','cde','xxx')
GO
UPDATE Stu set name = REPLACE(name,'abc','')
REPLACE
用第三個表達式替換第一個字符串表達式中出現的所有第二個給定字符串表達式。
語法
REPLACE ( ’string_expression1′ , ’string_expression2′ , ’string_expression3′ )
參數
’string_expression1′
待搜索的字符串表達式。string_expression1 可以是字符數據或二進制數據。
’string_expression2′
待查找的字符串表達式。string_expression2 可以是字符數據或二進制數據。
’string_expression3′
替換用的字符串表達式。string_expression3 可以是字符數據或二進制數據。
返回類型
假如 string_expression(1、2 或 3)是支持的字符數據類型之一,則返回字符數據。假如 string_expression(1、2 或 3)是支持的 binary 數據類型之一,則返回二進制數據。
示例
下例用 xxx 替換 abcdefghi 中的字符串 cde。
SELECT REPLACE(’abcdefghicde’,'cde’,'xxx’)
GO
下面是結果集:
————
abxxxfghixxx
(1 row(s) affected)
sql replace 優化方法
語法
Replace(expression, find, replacewith[, start[, count[, compare]]])
Replace函數語法有如下幾部分:
部分 描述
expression 必需的。字符串表達式,包含要替換的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用來替換的子字符串。
start 可選的。在表達式中子字符串搜索的開始位置。如果忽略,假定從1開始。
count 可選的。子字符串進行替換的次數。如果忽略,缺省值是 -1,它表明進行所有可能的替換。
compare 可選的。數字值,表示判別子字符串時所用的比較方式。關於其值,請參閱“設置值”部分。
設置值
compare參數的設置值如下:
常數 值 描述
vbUseCompareOption -1 使用Option Compare語句的設置值來執行比較。
vbBinaryCompare 0 執行二進制比較。
vbTextCompare 1 執行文字比較。
vbDatabaseCompare 2 僅用於Microsoft Access。基於您的數據庫教程的信息執行比較。
返回值
Replace的返回值如下:
如果 Replace返回值
expression長度為零 零長度字符串("")。
expression為Null 一個錯誤。
find長度為零 expression的復本。
replacewith長度為零 expression的復本,其中刪除了所有出現的find 的字符串。
start > Len(expression) 長度為零的字符串。
count is 0 expression.的復本。
說明
Replace函數的返回值是一個字符串,但是,其中從start所指定的位置開始,到expression字符串的結尾處的一段子字符串已經發生過替換動作。並不是原字符串從頭到尾的一個復制。