Welcome to Our Website

Sqlshack (Polski)

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″>

select difference(’Hello',’bicycle'), difference(’hello', 'hello world')

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

>

Hadi jest libańskim badaczem, inżynierem danych i programistą Business Intelligence.
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

Ostatnie posty Hadi Fadlallah (Zobacz wszystkie)
  • 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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *