T-SQL - funkcje ciągów
Funkcje ciągów MS SQL Server mogą być stosowane do wartości łańcuchowych lub zwracają wartość łańcuchową lub dane liczbowe.
Poniżej znajduje się lista funkcji ciągów z przykładami.
ASCII ()
Wartość kodu Ascii pojawi się jako wyjście dla wyrażenia znakowego.
Przykład
Poniższe zapytanie zwróci wartość kodu Ascii dla danego znaku.
Select ASCII ('word')
ZWĘGLAĆ()
Znak pojawi się na wyjściu dla danego kodu Ascii lub liczby całkowitej.
Przykład
Poniższe zapytanie da znak dla podanej liczby całkowitej.
Select CHAR(97)
NCHAR ()
Znak Unicode pojawi się jako wyjście dla podanej liczby całkowitej.
Przykład
Następujące zapytanie da znak Unicode dla podanej liczby całkowitej.
Select NCHAR(300)
CHARINDEX ()
Pozycja początkowa dla danego wyrażenia wyszukiwania zostanie określona jako wyjście w danym wyrażeniu łańcuchowym.
Przykład
Następujące zapytanie poda pozycję początkową znaku „G” dla danego wyrażenia łańcuchowego „KING”.
Select CHARINDEX('G', 'KING')
LEWO()
Lewa część podanego ciągu, dopóki określona liczba znaków nie pojawi się jako wyjście dla danego ciągu.
Przykład
Następujące zapytanie da łańcuch „WORL”, jak wspomniano, 4 liczby znaków dla danego ciągu „WORLD”.
Select LEFT('WORLD', 4)
DOBRZE()
Prawa część podanego ciągu do określonej liczby znaków pojawi się jako wyjście dla danego ciągu.
Przykład
Następujące zapytanie da ciąg „DIA”, jak wspomniano, 3 liczby znaków dla danego ciągu „INDIA”.
Select RIGHT('INDIA', 3)
PODCIĄG ()
Część łańcucha oparta na wartości pozycji początkowej i wartości długości będzie stanowić dane wyjściowe dla danego ciągu.
Przykład
Następujące zapytania podadzą ciągi „WORLD”, „DIA”, „ING”, jak wspomnieliśmy (1,3), (3,3) i (2,3) jako wartości początkowe i długości odpowiednio dla danych łańcuchów „WORLD” , „INDIE” i „KING”.
Select SUBSTRING ('WORLD', 1,3)
Select SUBSTRING ('INDIA', 3,3)
Select SUBSTRING ('KING', 2,3)
DŁ ()
Liczba znaków pojawi się na wyjściu dla danego wyrażenia łańcuchowego.
Przykład
Następujące zapytanie da 5 dla wyrażenia tekstowego „HELLO”.
Select LEN('HELLO')
NIŻSZY()
Małe litery pojawią się jako dane wyjściowe dla danego ciągu danych.
Przykład
Następujące zapytanie zwróci „sqlserver” dla danych znakowych „SQLServer”.
Select LOWER('SQLServer')
GÓRNY()
Wielkie litery pojawią się jako dane wyjściowe dla danego ciągu danych.
Przykład
Następujące zapytanie zwróci „SQLSERVER” dla danych znakowych „SqlServer”.
Select UPPER('SqlServer')
LTRIM ()
Wyrażenie tekstowe pojawi się jako wyjście dla danego ciągu danych po usunięciu wiodących spacji.
Przykład
Następujące zapytanie da „WORLD” dla danych znakowych „WORLD”.
Select LTRIM(' WORLD')
RTRIM ()
Wyrażenie łańcuchowe pojawi się jako dane wyjściowe dla danego ciągu danych po usunięciu końcowych spacji.
Przykład
Poniższe zapytanie da „INDIE” dla danych znakowych „INDIE”.
Select RTRIM('INDIA ')
ZASTĄPIĆ()
Wyrażenie łańcuchowe pojawi się jako wyjście dla danego ciągu danych po zastąpieniu wszystkich wystąpień określonego znaku określonym znakiem.
Przykład
Poniższe zapytanie da ciąg znaków „KNDKA” dla danych ciągu „INDIA”.
Select REPLACE('INDIA', 'I', 'K')
REPLIKA()
Powtórz wyrażenie łańcuchowe pojawi się jako dane wyjściowe dla danego ciągu danych z określoną liczbą razy.
Przykład
Następujące zapytanie zwróci ciąg „WORLDWORLD” dla danych ciągu „WORLD”.
Select REPLICATE('WORLD', 2)
ODWRÓCIĆ()
Odwrotne wyrażenie łańcuchowe pojawi się jako wyjście dla danego ciągu danych.
Przykład
Następujące zapytanie zwróci ciąg „DLROW” dla danych ciągu „WORLD”.
Select REVERSE('WORLD')
SOUNDEX ()
Zwraca czteroznakowy kod (SOUNDEX), aby ocenić podobieństwo dwóch podanych ciągów.
Przykład
Poniższe zapytanie zwróci „S530” dla ciągów znaków „Smith” i „Smyth”.
Select SOUNDEX('Smith'), SOUNDEX('Smyth')
RÓŻNICA()
Wartość całkowita będzie wynikiem danych dwóch wyrażeń.
Przykład
Poniższe zapytanie da 4 dla wyrażeń „Smith”, „Smyth”.
Select Difference('Smith','Smyth')
Note - Jeśli wartość wyjściowa wynosi 0, oznacza to słabe podobieństwo lub brak podobieństwa między danymi 2 wyrażeniami.
PRZESTRZEŃ()
Na wyjściu pojawi się napis z określoną liczbą spacji.
Przykład
Następujące zapytanie da „I LOVE INDIA”.
Select 'I'+space(1)+'LOVE'+space(1)+'INDIA'
RZECZY()
Wyrażenie łańcuchowe pojawi się jako dane wyjściowe dla danego ciągu danych po zastąpieniu od znaku początkowego do określonej długości określonym znakiem.
Przykład
Następujące zapytanie poda ciąg „AIJKFGH” dla danych ciągu „ABCDEFGH” zgodnie z podanym znakiem początkowym i długością odpowiednio 2 i 4 oraz „IJK” jako określony ciąg docelowy.
Select STUFF('ABCDEFGH', 2,4,'IJK')
STR ()
Dane znakowe pojawią się na wyjściu dla podanych danych liczbowych.
Przykład
Poniższe zapytanie da 187,37 dla podanych 187,369 na podstawie określonej długości jako 6 i dziesiętnej jako 2.
Select STR(187.369,6,2)
UNICODE ()
Wartość całkowita pojawi się jako wynik dla pierwszego znaku danego wyrażenia.
Przykład
Następujące zapytanie da 82 wyrażenie „RAMA”.
Select UNICODE('RAMA')
QUOTENAME ()
Podany ciąg pojawi się jako wyjście z określonym ogranicznikiem.
Przykład
Następujące zapytanie zwróci „RAMA” dla danego ciągu „RAMA”, ponieważ jako separator podaliśmy podwójny cudzysłów.
Select QUOTENAME('RAMA','"')
PATINDEX ()
Wymagana jest pozycja początkowa pierwszego wystąpienia z podanego wyrażenia, tak jak podaliśmy, pozycja „I”.
Przykład
Następujące zapytanie da 1 dla „INDII”.
Select PATINDEX('I%','INDIA')
FORMAT()
Podane wyrażenie pojawi się jako dane wyjściowe w określonym formacie.
Przykład
Następujące zapytanie zwróci „poniedziałek, 16 listopada 2015 r.” Dla funkcji getdate zgodnie z określonym formatem, gdzie „D” odnosi się do nazwy dnia tygodnia.
SELECT FORMAT ( getdate(), 'D')
CONCAT ()
Pojedynczy ciąg pojawi się jako wyjście po konkatenacji podanych wartości parametrów.
Przykład
Następujące zapytanie zwróci „A, B, C” dla podanych parametrów.
Select CONCAT('A',',','B',',','C')