w tym artykule postaramy się przedstawić krótki przegląd funkcji ciągów SQL używanych w SQL Server i podamy kilka przykładów.
funkcja łańcuchowa jest funkcją, która pobiera wartość łańcuchową jako dane wejściowe niezależnie od typu danych zwracanej wartości. W SQL Server istnieje wiele wbudowanych funkcji ciągów, które mogą być używane przez programistów.,
ASCII
pierwszą opisywaną przez nas funkcją SQL string jest ASCII(), która jest funkcją skalarną, która przyjmuje łańcuch znaków jako wejście i zwraca kod ASCII pierwszego znaku w tym łańcuchu. Zauważ, że ASCII oznacza American Standard Code for Information Interchange. Jest to 7-bitowy kod znakowy, w którym każdy pojedynczy bit reprezentuje unikalny znak, który może być używany do różnych celów. Całą tabelę ASCII znajdziesz na następującej stronie: ASCII Code-Rozszerzona tabela ASCII.,
1
|
SELECT ASCII(’A'), ASCII(’AB') , ASCII(’B')
|
Result:
65, 65, 66
As shown in the result ASCII(‘A’) and ASCII(‘AB’) return the same result 65
CHARINDEX
CHARINDEX() is a scalar SQL string function used to return the index of a specific string expression within a given string., CHARINDEX () ma 2 wymagane parametry, które są łańcuchem wejściowym i znakiem oraz jeden opcjonalny parametr, który jest indeksem początkowym operacji wyszukiwania (Jeśli ten argument nie jest określony lub jest mniejszy lub równy wartości zero (0), wyszukiwanie rozpoczyna się na początku łańcucha wejściowego).
Typ zwracania funkcji zależy od długości łańcucha wejściowego; jeśli jest to NVARCHAR (MAX), to zwróci wartość BIGINT, w przeciwnym razie zwróci wartość INT.,=”f54a7efd55″>
1
|
select charindex(’world',’Hello World'),charindex(’world',’Hello World',8)
|
result:
7, 0
jak pokazano w powyższym przykładzie, szukaliśmy świata ciągu znaków w hello world I zwróciło ono 7, ale gdy określiliśmy lokalizację początkową jako 8, zwróciło 0, ponieważ po tym indeksie nie znaleziono żadnego wystąpienia.,
CONCAT
CONCAT() jest skalarną funkcją łańcuchową SQL, która pobiera wiele łańcuchów jako dane wejściowe i zwraca je po połączeniu wszystkich wejść. Ta funkcja może przyjąć maksymalnie 254 wejścia.,
przykład:
1div
|
select Concat(’Hello',' World')
|
wynik:
Hello World
concat_ws
concat_ws() jest bardzo podobna do funkcji Concat (), ale pozwala użytkownikowi określić separator między skonkatenowanymi łańcuchami wejściowymi. Może być używany do generowania wartości oddzielonych przecinkami.,
Example:
1
|
SELECT CONCAT_WS(',',’United States',’New York')
|
Result:
United States, New York
SOUNDEX
SOUNDEX() is a scalar function that takes a string value as input and returns a four-character string based on the way this string is spoken., Pierwszy znak kodu jest pierwszym znakiem łańcucha wejściowego, przekonwertowanym na wielkie litery. Pozostałe znaki kodu to cyfry, które reprezentują litery w wyrażeniu. Zauważ, że niektóre litery są ignorowane (A,O,U,E,I,Y,H,W), chyba że są pierwszą literą. Ponadto, jeżeli długość łańcucha jest mniejsza niż 4, to do zwracanej wartości zostaną dodane dodatkowe zera.
SOUNDEX() jest używany głównie do dopasowywania łańcuchów i linkowania wierszy.,1387c12f”>
1
|
SELECT SOUNDEX(’H'), SOUNDEX(’He'), SOUNDEX(’Hello'), SOUNDEX(’Hello World')
|
Result:
H000, H000, H400, H400
From the results above, we can see that the result of the SOUNDEX() function is the same for ‘H’ and ‘He’ since the letter ‘e’ is ignored (as mentioned above)., Również wynik Hello I Hello World jest taki sam, ponieważ funkcja SOUNDEX() zajmuje tylko pierwsze 4 znaki.
DIFFERENCE
DIFFERENCE() jest funkcją skalarną używaną do pomiaru podobieństwa dwóch łańcuchów za pomocą innej funkcji SQL string, którą jest SOUNDEX(). Najpierw do każdego wejścia zostanie zastosowana funkcja SOUNEDX (), a następnie zostanie przeprowadzona kontrola podobieństwa tych wyników. Ta funkcja zwraca wartość całkowitą z zakresu od 0 do 4. Jeżeli wartość ta jest zbliżona do 4, wtedy wejścia są bardzo podobne.,4a7efd55″>
1
|
wynik:
1, 4
z powyższych wyników, ponieważ funkcja Soundex() zwraca tę samą wartość dla hello i hello world, to wynik funkcji difference() wynosi 4, co oznacza, że są one bardzo podobne (oparte na Soundex())., Z drugiej strony, wynik funkcji DIFFERENCE() dla HELLO I BICYCLE wynosi 1, co oznacza, że nie są do siebie podobne.
LEFT, RIGHT
funkcje LEFT() I RIGHT() są jedną z najpopularniejszych funkcji ciągów SQL. Są one używane do wyodrębniania określonej liczby znaków z lewej lub prawej strony łańcucha.,
Example:
1
|
SELECT LEFT(’Hello World',5) , RIGHT(’Hello Wolrd',5)
|
Result:
Hello, World
LOWER, UPPER
LOWER() and UPPER() functions are another popular SQL string functions that are used to change the character case of an input string., LOWER() służy do zmiany wielkości liter na małe, a UPPER() służy do zmiany wielkości liter na duże.,
1
|
select Lower(’Hello World') , Upper(’Hello World')
|
wynik:
hello world, Hello World
ltrim, rtrim
ostatnie funkcje, które zilustrujemy w tym artykule to funkcja ltrim() i rtrim (), które są używane do usuwania dodatkowych spacji z lewej lub prawej strony łańcucha wejściowego.,
przykład:
1div
|
select rtrim(’Hello ') , ltrim(' World')
|
result:
Hello, World
podsumowanie
w tym artykule przedstawiliśmy przegląd niektórych wbudowanych funkcji ciągów SQL w SQL Server, podaliśmy kilka przykładów i zrzutów ekranu oraz krótko omówiliśmy uzyskane wyniki.,
- Autor
- Ostatnie posty
>
współpracuje z SQL Server od ponad 10 lat. Ponadto jest jednym z najlepszych współpracowników ETL i SQL Server Integration Services w Stackoverflow.com
Hadi naprawdę lubi codziennie uczyć się nowych rzeczy i dzielić się swoją wiedzą.,
Zobacz wszystkie posty Hadi Fadlallah
- pierwsze kroki z bazą Wykresów Neo4j – 5 lutego 2021
- import danych z MongoDB do SQL Server za pomocą SSIS – 25 grudnia 2020
- budowanie baz danych za pomocą biml – 14 października 2020