Freigeben über


Zeichenfolgenfunktionen (Entity SQL)

Der .NET Framework-Datenanbieter für SQL Server (SqlClient) stellt String-Funktionen zur Verfügung, die einen eingegebenen String verarbeiten und als Ergebnis einen String oder einen numerischen Wert zurückgeben. Diese Funktionen befinden sich im SQLServer-Namespace, der bei der Verwendung von SqlClient verfügbar ist. Anhand der Namespaceeigenschaft des Anbieters kann Entity Framework ermitteln, welches Präfix von diesem Anbieter für spezifische Konstrukte, wie Typen und Funktionen, verwendet wird.

In der folgenden Tabelle sind die SqlClient-String-Funktionen aufgeführt.

Funktion Beschreibung

ASCII( expression )

Gibt den ASCII-Codewert für das erste Zeichen eines Zeichenfolgeausdrucks zurück.

Argumente

expression: Jeder gültige Ausdruck eines ASCII-String-Typs.

Rückgabewert

Ein Int32.

Beispiel

SqlServer.ASCII('A')

CHAR( expression )

Konvertiert einen Int32-Code in eine ASCII-Zeichenfolge.

Argumente

expression: Ein Int32.

Rückgabewert

Ein ASCII-String.

Beispiel

SqlServer.char(97)

CHARINDEX( expression1, expression2 [, start_location])

Gibt die Anfangsposition des angegebenen Ausdrucks in einer Zeichenfolge zurück.

Argumente

expression1: Ein Ausdruck, der die Zeichenfolge enthält, nach der gesucht werden soll. Der Ausdruck kann eine Zeichenfolge (ASCII oder Unicode) oder binär sein.

expression2: Ein Ausdruck, typischerweise eine Spalte, der nach der angegebenen Zeichenfolge durchsucht werden soll. Der Ausdruck kann eine Zeichenfolge (ASCII oder Unicode) oder binär sein.

start_location: (Optional) Ein Int64 (nicht zurückgegeben in SQL Server 2000) oder Int32, der die Zeichenposition darstellt, ab der in expression2 nach expression1 gesucht wird. Wird die Startposition nicht angegeben oder ist sie ein negative Zahl bzw. null (0), wird die Suche am Anfang von expression2 gestartet.

Rückgabewert

Int32.

Beispiel

SqlServer.CHARINDEX('h', 'habcdefgh', 2)

DIFFERENCE( expression, expression )

Vergleicht die SOUNDEX-Werte von zwei Zeichenfolgen und wertet die Ähnlichkeit zwischen ihnen aus.

Argumente

Ein ASCII- oder Unicode-String-Typ. expression kann eine Konstante, eine Variable oder eine Spalte sein.

Rückgabewert

Gibt einen Int32-Wert zurück, der die Differenz zwischen den SOUNDEX-Werten zweier Zeichenausdrücke angibt. Der Wertebereich liegt zwischen 0 und 4. 0 (Null) gibt an, dass keine oder nur eine geringe Ähnlichkeit besteht, 4 weist auf eine starke Ähnlichkeit oder identische Werte hin.

Beispiel

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

//the least possible difference or the best match.

SqlServer.DIFFERENCE('Green','Greene');

LEFT( expression, count )

Gibt den linken Teil einer Zeichenfolge mit der angegebenen Anzahl von Zeichen zurück.

Argumente

expression: Ein Unicode oder ASCII-Zeichenfolgentyp. Verwenden Sie die CAST-Funktion, um character_expression explizit zu ändern.

count: Ein Int64-Typ (wird in SQL Server 2000 nicht zurückgegeben) oder ein Int32-Typ, der festlegt, wie viele Zeichen von character_expression zurückgegeben werden.

Rückgabewert

Ein Unicode- oder ASCII-String.

Beispiel

SqlServer.LEFT('SQL Server', 4)

LEN( expression )

Gibt die Anzahl von Zeichen im angegebenen Zeichenfolgenausdruck zurück, wobei nachfolgende Leerzeichen ausgeschlossen werden.

Argumente

expression: Ein Ausdruck eines String-Typs (Unicode oder ASCII) oder eines Binary-Typs.

Rückgabewert

Int32.

Beispiel

SqlServer.LEN('abcd')

LOWER( expression )

Gibt einen String-Ausdruck zurück, nachdem groß geschriebene Zeichendaten in klein geschriebene konvertiert wurden.

Argumente

expression: Ein gültiger Ausdruck des String-Typs.

Rückgabewert

Ein String.

Beispiel

SqlServer.LOWER('AbB')

LTRIM( expression )

Gibt einen String-Ausdruck zurück, nachdem führende Leerzeichen entfernt wurden.

Argumente

expression: Ein gültiger Ausdruck des String-Typs.

Rückgabewert

Ein String.

Beispiel

SqlServer.LTRIM(' d')

NCHAR( expression )

Gibt einen String (Unicode) mit dem angegebenen ganzzahligen Code gemäß der Definition durch den Unicode-Standard zurück.

Argumente

expression: Ein Int32.

Rückgabewert

Ein String (Unicode).

Beispiel

SqlServer.NCHAR(65)

PATINDEX( '%pattern%', expression)

Gibt die Anfangsposition des ersten Vorkommens eines Musters in einem angegebenen String-Ausdruck zurück.

Argumente

'%pattern%': Ein String-Typ (ASCII oder Unicode). Platzhalterzeichen können verwendet werden. Das Zeichen "%" muss jedoch vor und nach dem Muster eingegeben werden (außer bei der Suche nach den ersten oder letzten Zeichen).

expression: Ein ASCII- oder Unicode-String für die Suche nach dem angegebenen Muster.

Rückgabewert

Int32.

Beispiel

SqlServer.PATINDEX('abc', 'ab')

QUOTENAME( 'char_string' [, 'quote_char'])

Gibt einen String (Unicode) mit hinzugefügten Trennzeichen zurück, um die Eingabezeichenfolge als gültigen Bezeichner mit Trennzeichen für SQL Server 2005 festzulegen.

Argumente

char_string: Ein String (Unicode).

quote_char: Eine Zeichenfolge mit einem Zeichen, das als Trennzeichen verwendet wird. Hierbei kann es sich um ein einfaches Anführungszeichen ('), eine linke oder rechte Klammer ([ ]) oder ein doppeltes Anführungszeichen (") handeln. Wenn quote_char nicht angegeben wird, werden eckige Klammern verwendet.

Rückgabewert

Ein String (Unicode).

Beispiel

SqlServer.QUOTENAME('abc[]def')

REPLACE( expression1, expression2, expression3)

Wiederholt einen Zeichenausdruck so oft wie angegeben.

Argumente

expression1: Der Zeichenfolgenausdruck für die Suche. string_expression1 kann eine Unicode- oder ASCII-Zeichenfolge sein.

expression2: Zu suchende untergeordnete Zeichenfolge. string_expression2 kann eine Unicode- oder ASCII-Zeichenfolge sein.

expression3: Die Ersatzzeichenfolge. string_expression3 kann eine Unicode- oder ASCII-Zeichenfolge sein.

Beispiel

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

REPLICATE( char_expression, int_expression)

Wiederholt einen Zeichenausdruck so oft wie angegeben.

Argumente

char_expression: Ein Unicode- oder ASCII-String-Typ.

int_expression: Int64 (wird in SQL Server 2000 nicht unterstützt) oder Int32.

Rückgabewert

Ein Unicode- oder ASCII-String-Typ.

Beispiel

SqlServer.REPLICATE('aa',2)

REVERSE( expression )

Gibt eine Unicode- oder ASCII-Zeichenfolge zurück, bei der die Zeichenpositionen gegenüber der Eingabezeichenfolge umgekehrt wurden.

Argumente

expression: Ein Unicode- oder ASCII-String-Typ.

Rückgabewert

Ein Unicode- oder ASCII-String-Typ.

Beispiel

SqlServer.REVERSE('abcd')

RIGHT( char_expression, count)

Gibt den rechten Teil einer Zeichenfolge mit der angegebenen Anzahl von Zeichen zurück.

Argumente

char_expression: Ein Unicode- oder ASCII-Zeichenfolgentyp. Verwenden Sie die CAST-Funktion, um character_expression explizit zu ändern.

count: Ein Int64-Typ (wird in SQL Server 2000 nicht zurückgegeben) oder ein Int32-Typ, der festlegt, wie viele Zeichen von character_expression zurückgegeben werden.

Rückgabewert

Ein ASCII-String-Typ.

Beispiel

SqlServer.RIGHT('SQL Server', 6)

RTRIM( expression )

Gibt eine Unicode- oder ASCII-Zeichenfolge zurück, nachdem nachfolgende Leerzeichen entfernt wurden.

Argumente

expression: Ein Unicode- oder ASCII-String-Typ.

Rückgabewert

Ein Unicode- oder ASCII-String-Typ.

Beispiel

SqlServer.RTRIM(' d e ')

SOUNDEX( expression )

Gibt einen vier Zeichen langen (SOUNDEX-) Code zurück, um die Ähnlichkeit von zwei strings.Arguments auszuwerten.

expression: Ein Unicode- oder ASCII-Zeichenfolgentyp.

Rückgabewert

Ein ASCII-String. Ein aus vier Zeichen bestehender (SOUNDEX-) Code ist eine Zeichenfolge, die die Ähnlichkeit von zwei Zeichenfolgen auswertet.

Beispiel

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

Rückgabewert

----- ----- 
S530  S530

SPACE( int_expression )

Gibt einen ASCII-String aus mehreren Leerzeichen zurück.

Argumente

int_expression: Ein Int64-Wert (wird in SQL Server 2000 nicht zurückgegeben) oder ein Int32-Wert, der die Anzahl der Leerzeichen angibt.

Rückgabewert

Ein ASCII-String.

Beispiel

SqlServer.SPACE(2)

STR( float_expression [, length [, decimal]])

Gibt einen ASCII-String zurück, der aus numerischen Daten konvertiert wurde.

Argumente

float _expression: Ein Ausdruck der ungefähren numerischen Datentypkategorie (Double) mit einem Dezimaltrennzeichen.

(length: optional) Ein Int32-Wert, der die Gesamtlänge darstellt. Diese schließt Dezimaltrennzeichen, Vorzeichen, Ziffern und Leerzeichen ein. Der Standardwert beträgt 10.

decimal: optional) Ein Int32, der die Anzahl der Dezimalstellen darstellt. Der Wert für "decimal" muss kleiner oder gleich 16 sein. Wenn der Wert für "decimal" höher als 16 ist, wird das Ergebnis auf sechzehn Stellen nach dem Dezimaltrennzeichen gekürzt.

Rückgabewert

Ein ASCII-String.

Beispiel

SqlServer.STR(212.0)

STUFF( str_expression, start, length, str_expression_to_insert)

Löscht eine angegebene Anzahl von Zeichen und fügt andere Zeichen am angegebenen Anfangspunkt in einen Zeichenfolgenausdruck ein.

Argumente

str_expression: Ein Unicode- oder ASCII-String.

start: : Ein Int64-Wert (nicht zurückgegeben in SQL Server 2000) oder ein Int32-Wert, der die Position angibt, an der gelöscht oder eingefügt werden soll.

length: Ein Int64-Wert (nicht zurückgegeben in SQL Server 2000) oder ein Int32-Wert, der die Anzahl von Zeichen angibt, die gelöscht werden sollen.

str_expression_to_insert: Ein Unicode- oder ASCII-String.

Rückgabewert

Ein Unicode- oder ASCII-String.

Beispiel

SqlServer.STUFF('abcd', 2, 2, 'zz')

SUBSTRING( str_expression, start, length)

Gibt einen Teil eines String-Ausdrucks zurück.

Argumente

str_expression: Ein Ausdruck eines String-Typs (Unicode oder ASCII) oder eines Binary-Typs.

start: Ein Int64 (nicht zurückgegeben in SQL Server 2000) oder ein Int32, das angibt, an welcher Position die untergeordnete Zeichenfolge beginnt. 1 bezieht sich auf das erste Zeichen in der Zeichenfolge.

length: Ein Int64-Wert (wird in SQL Server 2000 nicht zurückgegeben) oder ein Int32-Wert, der festlegt, wie viele Zeichen des Ausdrucks zurückgegeben werden.

Rückgabewert

Ein String-Typ (ASCII oder Unicode) oder ein Binary-Typ.

Beispiel

SqlServer.SUBSTRING('abcd', 2, 2)

UNICODE( expression )

Gibt den durch den Unicode-Standard definierten ganzzahligen Wert für das erste Zeichen des Eingabeausdrucks zurück.

Argumente

expression: Ein Unicode-String.

Rückgabewert

Ein Int32.

Beispiel

SqlServer.UNICODE('a')

UPPER( expression )

Gibt einen String-Ausdruck zurück, nachdem klein geschriebene Zeichen in groß geschriebene konvertiert wurden.

Argumente

expression: Ein Ausdruck eines Unicode- oder ASCII-Zeichenfolgentyps.

Rückgabewert

Ein String-Typ (ASCII oder Unicode).

Beispiel

SqlServer.UPPER('AbB')

Weitere Informationen zu den von SqlClient unterstützten String-Funktionen finden Sie in der Dokumentation für die SQL Server-Version, die im SqlClient-Anbietermanifest angegeben wurde:

SQL Server 2000 SQL Server 2005 SQL Server 2008

Zeichenfolgenfunktionen (Transact-SQL)

Zeichenfolgenfunktionen (Transact-SQL)

Zeichenfolgenfunktionen (Transact-SQL)

Siehe auch

Konzepte

.NET Framework-Datenanbieter für SQL Server (SqlClient) für die Entity Framework-Funktionen
Bekannte Probleme mit dem .NET Framework-Datenanbieter für SQL Server (SqlClient) für das Entity Framework