Share via


Zeichenfolgenfunktionen

In der folgenden Tabelle sind Zeichenfolgenbearbeitungsfunktionen aufgeführt. Eine Anwendung kann ermitteln, welche Zeichenfolgenfunktionen von einem Treiber unterstützt werden, indem SQLGetInfo mit einem Informationstyp von SQL_STRING_FUNCTIONS aufgerufen wird.

Bemerkungen

Als string_exp bezeichnete Argumente können der Name einer Spalte, ein Zeichenzeichenfolgenliteral oder das Ergebnis einer anderen Skalarfunktion sein, wobei der zugrunde liegende Datentyp als SQL_CHAR, SQL_VARCHAR oder SQL_LONGVARCHAR dargestellt werden kann.

Argumente, die als character_exp bezeichnet werden, sind eine Zeichenfolge mit variabler Länge.

Argumente, die als Start, Länge oder Anzahl bezeichnet werden, können ein numerisches Literal oder das Ergebnis einer anderen skalaren Funktion sein, wobei der zugrunde liegende Datentyp als SQL_TINYINT, SQL_SMALLINT oder SQL_INTEGER dargestellt werden kann.

Die hier aufgeführten Zeichenfolgenfunktionen sind 1-basiert; Das heißt, das erste Zeichen in der Zeichenfolge ist Zeichen 1.

Die Skalarfunktionen BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH und POSITION wurden in ODBC 3.0 hinzugefügt, um auf SQL-92 auszurichten.

Funktion BESCHREIBUNG
ASCII(string_exp) (ODBC 1.0) Gibt den ASCII-Codewert des linkssten Zeichens von string_exp als ganze Zahl zurück.
BIT_LENGTH(string_exp) (ODBC 3.0) Gibt die Länge des Zeichenfolgenausdrucks in Bits zurück.

Funktioniert nicht nur für Zeichenfolgendatentypen, sondern konvertiert string_exp nicht implizit in Zeichenfolge, sondern gibt stattdessen die (interne) Größe des angegebenen Datentyps zurück.
CHAR(Code) (ODBC 1.0) Gibt das Zeichen zurück, das über den durch Code angegebenen ASCII-Codewert verfügt. Der Wert des Codes sollte zwischen 0 und 255 sein; andernfalls ist der Rückgabewert datenquellenabhängig.
CHAR_LENGTH(string_exp) (ODBC 3.0) Gibt die Länge des Zeichenfolgenausdrucks in Zeichen zurück, wenn der Zeichenfolgenausdruck den Zeichenfolgendatentyp aufweist. Anderenfalls wird die Länge des Zeichenfolgenausdrucks in Byte zurückgegeben (die kleinste ganze Zahl, die nicht weniger als die Anzahl von Bits ist, dividiert durch 8). (Diese Funktion entspricht der CHARACTER_LENGTH-Funktion.)
CHARACTER_LENGTH(string_exp) (ODBC 3.0) Gibt die Länge des Zeichenfolgenausdrucks in Zeichen zurück, wenn der Zeichenfolgenausdruck den Zeichenfolgendatentyp aufweist. Anderenfalls wird die Länge des Zeichenfolgenausdrucks in Byte zurückgegeben (die kleinste ganze Zahl, die nicht weniger als die Anzahl von Bits ist, dividiert durch 8). (Diese Funktion ist mit der CHAR_LENGTH-Funktion identisch.)
CONCAT(string_exp1,string_exp2) (ODBC 1.0) Gibt eine Zeichenfolge zurück, die das Ergebnis der Verkettung von string_exp2 mit string_exp1 ist. Die Ergebniszeichenfolge hängt vom DBMS ab. Wenn die durch string_exp1 dargestellte Spalte z. B. einen NULL-Wert enthält, gibt DB2 NULL zurück, SQL Server jedoch die nicht-NULL-Zeichenfolge zurück.
DIFFERENCE(string_exp1,string_exp2) (ODBC 2.0) Gibt einen ganzzahligen Wert zurück, der die Differenz zwischen den Werten angibt, die von der SOUNDEX-Funktion für string_exp1 und string_exp2 zurückgegeben werden.
INSERT(string_exp1, start, length, string_exp2) (ODBC 1.0) Gibt eine Zeichenfolge zurück, bei der Längenzeichen aus string_exp1 gelöscht wurden, beginnend mit dem Start, und an dem string_exp2 in string_exp eingefügt wurde , beginnend mit dem Start.
LCASE(string_exp) (ODBC 1.0) Gibt eine Zeichenfolge zurück, die der in string_exp entspricht, wobei alle Großbuchstaben in Kleinbuchstaben konvertiert werden.
LEFT(string_exp, count) (ODBC 1.0) Gibt die meisten Zeichen der linken Anzahl von string_exp zurück.
LENGTH(string_exp) (ODBC 1.0) Gibt die Anzahl der Zeichen in string_exp zurück, ausgenommen nachfolgende Leerzeichen.

LENGTH akzeptiert nur Zeichenfolgen. Daher konvertiert string_exp implizit in eine Zeichenfolge und gibt die Länge dieser Zeichenfolge zurück (nicht die interne Größe des Datentyps).
LOCATE(string_exp1, string_exp2[, Start]) (ODBC 1.0) Gibt die Startposition des ersten Vorkommens von string_exp1 innerhalb string_exp2 zurück. Die Suche nach dem ersten Vorkommen von string_exp1 beginnt mit der ersten Zeichenposition in string_exp2 , es sei denn, das optionale Argument start wird angegeben. Wenn Start angegeben ist, beginnt die Suche mit der Zeichenposition, die durch den Wert von start angegeben wird. Die erste Zeichenposition in string_exp2 wird durch den Wert 1 angegeben. Wenn string_exp1 in string_exp2 nicht gefunden wird, wird der Wert 0 zurückgegeben.

Wenn eine Anwendung die Skalarfunktion LOCATE mit den Argumenten string_exp1, string_exp2 und Start aufrufen kann, gibt der Treiber SQL_FN_STR_LOCATE zurück, wenn SQLGetInfo mit einer Option von SQL_STRING_FUNCTIONS aufgerufen wird. Wenn die Anwendung die LOCATE-Skalarfunktion nur mit den Argumenten string_exp1 und string_exp2 aufrufen kann, gibt der Treiber SQL_FN_STR_LOCATE_2 zurück, wenn SQLGetInfomit option of SQL_STRING_FUNCTIONS aufgerufen wird. Treiber, die das Aufrufen der LOCATE-Funktion mit zwei oder drei Argumenten unterstützen, geben sowohl SQL_FN_STR_LOCATE als auch SQL_FN_STR_LOCATE_2 zurück.
LTRIM(string_exp) (ODBC 1.0) Gibt die Zeichen von string_exp zurück, wobei führende Leerzeichen entfernt wurden.
OCTET_LENGTH(string_exp) (ODBC 3.0) Gibt die Länge des Zeichenfolgenausdrucks in Bytes zurück. Das Ergebnis ist die kleinste ganze Zahl, die nicht kleiner ist als die Anzahl der Bits dividiert durch 8.

Funktioniert nicht nur für Zeichenfolgendatentypen, sondern konvertiert string_exp nicht implizit in Zeichenfolge, sondern gibt stattdessen die (interne) Größe des angegebenen Datentyps zurück.
POSITION(character_expINcharacter_exp) (ODBC 3.0) Gibt die Position des ersten Zeichenausdrucks im zweiten Zeichenausdruck zurück. Das Ergebnis ist eine exakte Numerische mit einer implementierungsdefinierte Genauigkeit und einer Skala von 0.
REPEAT(string_exp,count) (ODBC 1.0) Gibt eine Zeichenfolge zurück, die aus string_expwiederholten Zählungszeiten besteht.
REPLACE(string_exp1, string_exp2, string_exp3) (ODBC 1.0) Suchen Sie string_exp1 Undurchlänglichkeiten von string_exp2, und ersetzen Sie durch string_exp3.
RIGHT(string_exp, count) (ODBC 1.0) Gibt die zeichenanzahl vonstring_exp zurück.
RTRIM(string_exp) (ODBC 1.0) Gibt die Zeichen von string_exp zurück, bei denen nachfolgende Leerzeichen entfernt wurden.
SOUNDEX(string_exp) (ODBC 2.0) Gibt eine datenquellenabhängige Zeichenfolge zurück, die den Klang der Wörter in string_exp darstellt. Beispielsweise gibt SQL Server einen 4-stelligen SOUNDEX-Code zurück. Oracle gibt eine phonetische Darstellung jedes Worts zurück.
SPACE(count) (ODBC 2.0) Gibt eine Zeichenfolge zurück, die aus Zählungszeichen besteht.
SUBSTRING(string_exp, start, length**)** (ODBC 1.0) Gibt eine Zeichenfolge zurück, die von string_exp abgeleitet wird, beginnend bei der durch start für Längenzeichen angegebenen Zeichenposition.
UCASE(string_exp) (ODBC 1.0) Gibt eine Zeichenfolge zurück, die der in string_exp entspricht, wobei alle Kleinbuchstaben in Großbuchstaben konvertiert werden.