Funkcje ciągów
W poniższej tabeli wymieniono funkcje manipulowania ciągami. Aplikacja może określić, które funkcje ciągów są obsługiwane przez sterownik, wywołując SQLGetInfo z typem informacji SQL_STRING_FUNCTIONS.
Uwagi
Argumenty oznaczone jako string_exp mogą być nazwą kolumny, literał-ciągu znakówlub wynikiem innej funkcji skalarnej, gdzie podstawowy typ danych może być reprezentowany jako SQL_CHAR, SQL_VARCHAR lub SQL_LONGVARCHAR.
Argumenty oznaczone jako character_exp to ciąg znaków o zmiennej długości.
Argumenty oznaczone jako start, długościlub liczby mogą być literał-liczbowy lub wynik innej funkcji skalarnej, gdzie podstawowy typ danych może być reprezentowany jako SQL_TINYINT, SQL_SMALLINT lub SQL_INTEGER.
Funkcje ciągów wymienione tutaj są oparte na 1; oznacza to, że pierwszy znak w ciągu to znak 1.
Funkcje skalarne ciągów BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH i POSITION zostały dodane w formacie ODBC 3.0 w celu dopasowania do języka SQL-92.
Funkcja | Opis |
---|---|
ASCII(string_exp) (ODBC 1.0) | Zwraca wartość kodu ASCII z lewego znaku string_exp jako liczba całkowita. |
BIT_LENGTH(string_exp) (ODBC 3.0) | Zwraca długość w bitach wyrażenia ciągu. Nie działa tylko dla typów danych ciągów, dlatego nie będzie niejawnie konwertować string_exp na ciąg, ale zamiast tego zwróci (wewnętrzny) rozmiar dowolnego typu danych. |
CHAR( kod) (ODBC 1.0) | Zwraca znak, który ma wartość kodu ASCII określoną przez kod . Wartość kodu |
CHAR_LENGTH(string_exp) (ODBC 3.0) | Zwraca długość znaków wyrażenia ciągu, jeśli wyrażenie ciągu jest typem danych znaków; W przeciwnym razie zwraca długość w bajtach wyrażenia ciągu (najmniejsza liczba całkowita nie mniejsza niż liczba bitów podzielona przez 8). (Ta funkcja jest taka sama jak funkcja CHARACTER_LENGTH). |
CHARACTER_LENGTH(string_exp) (ODBC 3.0) | Zwraca długość znaków wyrażenia ciągu, jeśli wyrażenie ciągu jest typem danych znaków; W przeciwnym razie zwraca długość w bajtach wyrażenia ciągu (najmniejsza liczba całkowita nie mniejsza niż liczba bitów podzielona przez 8). (Ta funkcja jest taka sama jak funkcja CHAR_LENGTH). |
CONCAT(string_exp1,string_exp2) (ODBC 1.0) | Zwraca ciąg znaków, który jest wynikiem łączenia string_exp2 w celu string_exp1. Wynikowy ciąg jest zależny od zestawu DBMS. Jeśli na przykład kolumna reprezentowana przez string_exp1 zawierała wartość NULL, funkcja DB2 zwróci wartość NULL, ale program SQL Server zwróci ciąg inny niż NULL. |
DIFFERENCE(string_exp1,string_exp2) (ODBC 2.0) | Zwraca wartość całkowitą, która wskazuje różnicę między wartościami zwracanymi przez funkcję SOUNDEX dla string_exp1 i string_exp2. |
INSERT(string_exp1, rozpoczęcie, długości, string_exp2) (ODBC 1.0) | Zwraca ciąg znaków, w którym długość znaków została usunięta z string_exp1, począwszy od rozpoczynaniai gdzie string_exp2 została wstawiona do string_exp, rozpoczynając od rozpoczynać. |
LCASE(string_exp) (ODBC 1.0) | Zwraca ciąg równy tej wartości w string_exp, ze wszystkimi wielkimi znakami przekonwertowanymi na małe litery. |
LEFT(string_exp, liczba ) (ODBC 1.0) | Zwraca liczbę z lewej znaków string_exp. |
LENGTH(string_exp) (ODBC 1.0) | Zwraca liczbę znaków w string_exp, z wyłączeniem końcowych wartości pustych. długość akceptuje tylko ciągi. W związku z tym niejawnie przekonwertuje string_exp na ciąg i zwróci długość tego ciągu (a nie wewnętrzny rozmiar typu danych). |
LOCATE(string_exp1, string_exp2[, ]) (ODBC 1.0) | Zwraca pozycję początkową pierwszego wystąpienia string_exp1 w string_exp2. Wyszukiwanie pierwszego wystąpienia string_exp1 rozpoczyna się od pierwszego położenia znaku w string_exp2, chyba że opcjonalny argument jest określony. Jeśli określono rozpoczęcia, wyszukiwanie rozpoczyna się od pozycji znaku wskazanej przez wartość rozpoczęcia. Pierwsza pozycja znaku w string_exp2 jest wskazywana przez wartość 1. Jeśli string_exp1 nie zostanie znaleziona w string_exp2, zwracana jest wartość 0. Jeśli aplikacja może wywołać funkcję skalarną LOCATE z |
LTRIM(string_exp) (ODBC 1.0) | Zwraca znaki string_expz usuniętymi spacjami wiodącymi. |
OCTET_LENGTH(string_exp) (ODBC 3.0) | Zwraca długość w bajtach wyrażenia ciągu. Wynik jest najmniejszą liczbą całkowitą nie mniejszą niż liczba bitów podzielona przez 8. Nie działa tylko dla typów danych ciągów, dlatego nie będzie niejawnie konwertować string_exp na ciąg, ale zamiast tego zwróci (wewnętrzny) rozmiar dowolnego typu danych. |
POSITION(character_expINcharacter_exp) (ODBC 3.0) | Zwraca pozycję pierwszego wyrażenia znaku w drugim wyrażeniu znaku. Wynikiem jest dokładna liczba z dokładnością zdefiniowaną przez implementację i skalą 0. |
REPEAT(string_exp, liczba) (ODBC 1.0) | Zwraca ciąg znaków składający się z string_exp wielokrotnych liczby razy. |
REPLACE(string_exp1, string_exp2, string_exp3) (ODBC 1.0) | Wyszukaj string_exp1 wystąpienia string_exp2i zastąp ciąg string_exp3. |
RIGHT(string_exp, liczba ) (ODBC 1.0) | Zwraca najbardziej prawą liczbę znaków string_exp. |
RTRIM(string_exp) (ODBC 1.0) | Zwraca znaki string_exp z usuniętymi spacjami końcowymi. |
SOUNDEX(string_exp) (ODBC 2.0) | Zwraca ciąg znaków zależny od źródła danych reprezentujący dźwięk wyrazów w string_exp. Na przykład program SQL Server zwraca 4-cyfrowy kod SOUNDEX; Oracle zwraca fonetyczną reprezentację każdego słowa. |
SPACE( liczba) (ODBC 2.0) | Zwraca ciąg znaków składający się z liczby spacji. |
SUBSTRING(string_exp, rozpoczęcie, długość**)** (ODBC 1.0) | Zwraca ciąg znaków pochodzący z string_exp, rozpoczynający się od pozycji znaku określonej przez dla znaków o długości . |
UCASE(string_exp) (ODBC 1.0) | Zwraca ciąg równy tej wartości w string_exp, ze wszystkimi małymi literami przekonwertowanymi na wielkie litery. |