Share via


文字列関数

.NET Framework Data Provider for SQL Server (SqlClient) には、入力された String に対して操作を実行し、その結果を String または数値として返す String 関数が用意されています。 これらの関数は、SqlClient の SqlServer 名前空間に存在します。 Entity Framework は、プロバイダーの名前空間プロパティを使用することにより、型や関数など、特定のコンストラクターに対してこのプロバイダーによってどのプレフィックスが使用されているかを特定できます。

次の表に、SqlClient の String 関数を示します。

関数 説明
ASCII(expression) 文字列式の左端の文字の ASCII コード値を返します。

引数

expression:ASCII String 型の任意の有効な式。

戻り値

Int32



SqlServer.ASCII('A')
CHAR(expression) Int32 コードを ASCII String に変換します。

引数

expression:Int32

戻り値

ASCII の String



SqlServer.char(97)
CHARINDEX(expression1, expression2 [, start_location]) 指定された式の、文字列内での開始位置を返します。

引数

expression1:検索する文字列を含む式。 String (ASCII または Unicode) 型または Binary 型の式を指定できます。

expression2:式。通常は、文字列を検索する対象の列を指定します。 String (ASCII または Unicode) 型または Binary 型の式を指定できます。

start_location:(省略可) expression1 の検索を開始する expression2 内での文字位置を表す Int64 型 (SQL Server 2000 では返されません) または Int32 型の値。 start_location を指定しなかった場合、または負の値や 0 を指定した場合は、expression2 の先頭から検索が開始されます。

戻り値

Int32



SqlServer.CHARINDEX('h', 'habcdefgh', 2)
DIFFERENCE(expression, expression) 2 つの文字列の SOUNDEX 値を比較し、両者の類似性を評価します。

引数

ASCII または Unicode の String 型。 expression 引数には定数、変数、または列を指定できます。

戻り値

2 つの文字式の SOUNDEX 値の差を表す Int32 を返します。 値の範囲は 0 ~ 4 です。 0 は類似性が低いか類似性がないことを示し、4 は類似性が高いか同じ値であることを示します。



// The following example returns a DIFFERENCE value of 4,

//the least possible difference or the best match.

SqlServer.DIFFERENCE('Green','Greene');
LEFT(expression, count) 文字列の左端から指定された数の文字を返します。

引数

expression:Unicode または ASCII の String 型。 CAST 関数を使用して、明示的に character_expression を変換します。

count:character_expression から取得する文字数を指定する Int64 (SQL Server 2000 では返されません) または Int32 型。

戻り値

Unicode または ASCII の String



SqlServer.LEFT('SQL Server', 4)
LEN(expression) 指定された文字列式の、末尾の空白を除いた文字数を返します。

引数

expression:String (Unicode または ASCII) 型または Binary 型の式。

戻り値

Int32



SqlServer.LEN('abcd')
LOWER(expression) 大文字が小文字に変換された状態の String 式を返します。

引数

expression:String 型の任意の有効な式。

戻り値

String



SqlServer.LOWER('AbB')
LTRIM(expression) 先頭のスペースを削除した後の String 式を返します。

引数

expression:String 型の任意の有効な式。

戻り値

String



SqlServer.LTRIM(' d')
NCHAR(expression) Unicode 標準の定義に従って、指定された整数コードの Unicode の String を返します。

引数

expression:Int32

戻り値

Unicode の String



SqlServer.NCHAR(65)
PATINDEX('%pattern%', expression) 指定された String 式の中で、特定のパターンが最初に現れる先頭位置を返します。

引数

'%pattern%':ASCII または Unicode の String 型。 ワイルドカード文字も使用できます。ただし、パターンの前後に % 文字が必要です (先頭の文字または末尾の文字を検索する場合は除く)。

expression:指定パターンの検索対象となる ASCII または Unicode の String

戻り値

Int32



SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) Unicode の String に区切り記号を追加して返すことで、入力文字列から区切り記号で囲まれた有効な SQL Server 2005 識別子を作成します。

引数

char_string:Unicode の String

quote_char:区切り記号として使用する 1 つの文字を指定します。 単一引用符 (')、左または右の角かっこ ([ ])、二重引用符 (") のいずれかを指定できます。 quote_char を指定しない場合は、角かっこが使用されます。

戻り値

Unicode の String



SqlServer.QUOTENAME('abc[]def')
REPLACE(expression1, expression2, expression3) 文字式を別の文字式に置き換えます。

引数

expression1:検索範囲となる文字列式。 expression1 には、Unicode または ASCII の String 型を指定できます。

expression2: 検出された部分文字列。 expression2 には、Unicode または ASCII の String 型を指定できます。

expression3: 置換文字列。 expression3 には、Unicode または ASCII の String 型を指定できます。



SqlServer.REPLACE('aabbcc', 'bc', 'zz')
REPLICATE(char_expression, int_expression) 文字式を指定された回数繰り返します。

引数

char_expression:Unicode または ASCII の String 型。

int_expression: Int64 (SQL Server 2000 ではサポートされません) または Int32

戻り値

Unicode または ASCII の String 型。



SqlServer.REPLICATE('aa',2)
REVERSE(expression) 入力文字列の文字位置を逆転した Unicode または ASCII の String を返します。

引数

expression:Unicode または ASCII の String 型。

戻り値

Unicode または ASCII の String 型。



SqlServer.REVERSE('abcd')
RIGHT(char_expression, count) 文字列の右端から指定された数の文字を返します。

引数

char_expression: Unicode または ASCII の String 型。 CAST 関数を使用して、明示的に character_expression を変換します。

count:character_expression から取得する文字数を指定する Int64 (SQL Server 2000 では返されません) または Int32 型。

戻り値

ASCII の String 型。



SqlServer.RIGHT('SQL Server', 6)
RTRIM(expression) 末尾のスペースを削除した後の Unicode または ASCII の String を返します。

引数

expression:Unicode または ASCII の String 型。

戻り値

Unicode または ASCII の String 型。



SqlServer.RTRIM(' d e ')
SOUNDEX(expression) 2 つの文字列の類似性を評価する 4 文字のコード (SOUNDEX) を返します。引数

expression:Unicode または ASCII の String 型。

戻り値

ASCII の String。 4 文字の (SOUNDEX) コードは、2 つの文字列の類似性を評価する文字列です。



Select SqlServer.SOUNDEX('Smith'), SqlServer.SOUNDEX('Smythe') FROM {1}

戻り値

----- ----- S530 S530
SPACE(int_expression) 連続する空白文字で構成される ASCII の String を返します。

引数

int_expression:空白文字の数を表す Int64 (SQL Server 2000 では返されません) または Int32

戻り値

ASCII の String



SqlServer.SPACE(2)
STR(float_expression [, length [, decimal]]) 数値データから変換された ASCII の String を返します。

引数

float _expression:小数点付きの概数型 (Double) の式。

length: (省略可) 全体の長さを表す Int32。 これには小数点、符号、数字、空白文字も含まれます。 既定値は 10 です。

decimal: (省略可) 小数点の右側の桁数を表す Int32。 16 以下である必要があります。 decimal に 16 を超える値を指定した場合、結果は小数点以下 16 桁に切り捨てられます。

戻り値

ASCII の String



SqlServer.STR(212.0)
STUFF(str_expression, start, length, str_expression_to_insert) 文字列式内で、指定された長さ分の文字を削除し、指定された開始位置に別の文字列を挿入します。

引数

str_expression:Unicode または ASCII の String

start:: 削除または挿入を開始する位置を指定する Int64 型 (SQL Server 2000 では返されません) または Int32 型の値。

length:削除する文字数を指定する Int64 型 (SQL Server 2000 では返されません) または Int32 型の値。

str_expression_to_insert:Unicode または ASCII の String

戻り値

Unicode または ASCII の String



SqlServer.STUFF('abcd', 2, 2, 'zz')
SUBSTRING(str_expression, start, length) String 式の一部分を返します。

引数

str_expression:String (ASCII または Unicode) 型または Binary 型の式。

start:部分文字列の取得開始位置を指定する Int64 ( SQL Server 2000 では返されません) または Int32。 1 は文字列の先頭文字を表します。

length:式から取得する文字数を指定する Int64 (SQL Server 2000 では返されません) または Int32 型。

戻り値

String (ASCII または Unicode) 型または Binary 型。



SqlServer.SUBSTRING('abcd', 2, 2)
UNICODE(expression) Unicode 標準に定義された、入力式の先頭文字の整数値を返します。

引数

expression:Unicode の String

戻り値

Int32



SqlServer.UNICODE('a')
UPPER(expression) 小文字が大文字に変換された状態の String 式を返します。

引数

expression:ASCII または Unicode の String 型の式。

戻り値

ASCII または Unicode の String 型。



SqlServer.UPPER('AbB')

SqlClient でサポートされる String 関数について詳しくは、「文字列関数 (Transact-SQL)」をご覧ください。

関連項目