次の方法で共有


文字列関数 (Entity SQL)

.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: 検索範囲となる文字列式。 string_expression1 は、Unicode または ASCII の String 型で指定できます。

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

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

SqlServer.REPLACE('aabbcc', 'bc', 'zz')

REPLICATE( char_expression、intexpression)

文字式を指定された回数繰り返します。

引数

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 関数の詳細については、SqlClient プロバイダー マニフェストで指定した SQL Server のバージョンのドキュメントを参照してください。

SQL Server 2000 SQL Server 2005 SQL Server 2008

文字列関数 (Transact-SQL)

文字列関数 (Transact-SQL)

文字列関数 (Transact-SQL)

参照

概念

Entity Framework 用 .NET Framework Data Provider for SQL Server (SqlClient) 関数
Entity Framework 用の .NET Framework Data Provider for SQL Server (SqlClient) の既知の問題