REPLACE (Transact-SQL)REPLACE (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

指定した文字列値をすべて別の文字列値に置き換えます。Replaces all occurrences of a specified string value with another string value.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

REPLACE ( string_expression , string_pattern , string_replacement )  

注意

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

引数Arguments

string_expressionstring_expression
検索する文字列を指定します。Is the string expression to be searched. string_expression 文字またはバイナリ データ型であることができます。string_expression can be of a character or binary data type.

string_patternstring_pattern
検索するサブストリングです。Is the substring to be found. string_pattern 文字またはバイナリ データ型であることができます。string_pattern can be of a character or binary data type. string_pattern には空の文字列 ("") は指定できません。また、1 ページに収まる最大バイト数を超えないようにしてください。string_pattern cannot be an empty string (''), and must not exceed the maximum number of bytes that fits on a page.

string_replacementstring_replacement
置き換え後の文字列です。Is the replacement string. string_replacement 文字またはバイナリ データ型であることができます。string_replacement can be of a character or binary data type.

戻り値の型Return Types

返します nvarchar が、入力引数のいずれかの場合、 nvarchar データが入力のそれ以外の場合を返します。 を置き換える varchar です。Returns nvarchar if one of the input arguments is of the nvarchar data type; otherwise, REPLACE returns varchar.

いずれかの引数が NULL の場合は、NULL を返します。Returns NULL if any one of the arguments is NULL.

場合 string_expression の種類はありません varchar (max) または nvarchar (max)、 置換 は 8,000 バイトで戻り値を切り捨てます。If string_expression is not of type varchar(max) or nvarchar(max), REPLACE truncates the return value at 8,000 bytes. 8,000 バイトを超える値を返すには、大きな値を格納できるデータ型に string_expression を明示的にキャストする必要があります。To return values greater than 8,000 bytes, string_expression must be explicitly cast to a large-value data type.

解説Remarks

REPLACE は、入力の照合順序に基づいて比較を行います。REPLACE performs comparisons based on the collation of the input. 特定の照合順序で比較を行うには、COLLATE を使用して、入力に明示的な照合順序を適用します。To perform a comparison in a specified collation, you can use COLLATE to apply an explicit collation to the input.

0x0000 (char(0) ) の Windows 照合順序で未定義の文字は、REPLACE に含めることができません。0x0000 (char(0)) is an undefined character in Windows collations and cannot be included in REPLACE.

Examples

次の例では、abcdefghi にある文字列 cdexxx に置換します。The following example replaces the string cde in abcdefghi with xxx.

SELECT REPLACE('abcdefghicde','cde','xxx');  
GO  

結果セットは次のようになります。Here is the result set.

------------  
abxxxfghixxx  
(1 row(s) affected)  

次の例では、COLLATE 関数を使用します。The following example uses the COLLATE function.

SELECT REPLACE('This is a Test'  COLLATE Latin1_General_BIN,  
'Test', 'desk' );  
GO  

結果セットは次のようになります。Here is the result set.

------------  
This is a desk  
(1 row(s) affected)  

参照See Also

CONCAT (Transact-SQL)CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)QUOTENAME (Transact-SQL)
REVERSE (Transact-SQL)REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)STRING_ESCAPE (Transact-SQL)
STUFF (Transact-SQL)STUFF (Transact-SQL)
TRANSLATE (Transact-SQL)TRANSLATE (Transact-SQL)
データ型 (Transact-SQL) Data Types (Transact-SQL)
文字列関数 (Transact-SQL)String Functions (Transact-SQL)