coalesce (null, wartość zamienna) – podmienia wartości puste (null) na podaną wartość zstępczą. Wartość zastępcza musi być tego samego typu, co badana kolumna.
select FirstName, MiddleName, coalesce(middleName, ‘brak danych’) from SalesLT.Customer;
W trzeciej kolumnie, każde wystąpienie null zostało zastąpione tekstem ‘brak danych’.
string+string – połączy ciągi znakowe w jeden.
select FirstName, LastName, FirstName+LastName FullName from SalesLT.Customer;
Standard SQL określa, że połączenia ze znacznikiem null powinny dawać wartość null – tak też domyślnie działa system SQL Server.
select FirstName, MiddleName, LastName, FirstName+MiddleName+LastName FullName from SalesLT.Customer;
Czwarta kolumna przedstawia „sklejone” zawartości pozostałych kolumn. W przypadku wystąpienia po drodze wartości null, ostatnia kolumna również zwróciła wartość null. Aby nie otrzymywać przy takim połączeniu pustych wyników należy zastosować funkcję coalesce, za pomocą której pozbędziemy się pustych wartości.
select FirstName, MiddleName, LastName, FirstName+coalesce(MiddleName,’’)+LastName FullName from SalesLT.Customer;
W tym przykładzie, w przypadku wystąpienia wartości null, „doklejane” było puste wyrażenie, dzięki czemu w czwartej kolumnie, każde pole przedstawia już wartości znakowe.
upper (wyrażenie) - zwiększa cały ciąg tekstowy.
select Name, upper(Name) from SalesLT.Product;
Zwiększone zostały wszystkie litery w drugiej kolumnie wyświetlenia. Jak widać, kolumny z danymi na których użyto funkcji, tracą swoją nazwę. Najprostszą metodą by mieć informację jakie dane przechowuje taka kolumna jest zaaliasowanie jej w odpowiedni sposób.
select Name, upper(Name) “zwiększone nazwy produktów” from SalesLT.Product;
Zwiększone zostały wszystkie litery w drugiej kolumnie wyświetlenia.
lower (wyrażenie) - zmniejsza wszystkie litery.
select Name, lower(Name) from SalesLT.Product;
Zmniejszone zostały wszystkie litery w drugiej kolumnie wyświetlenia.
substring (string, start, length) – wydobywa ciąg znaków rozpoczynając od znaku, który określa pierwszy parametr, którego liczbę znaków określa drugi parametr.
select FirstName, substring(FirstName, 1, 3) from SalesLT.Customer;
left (string, n) - wydobywa ciąg znaków rozpoczynając od lewej strony, którego liczbę znaków określa podany parametr.
select FirstName, left(FirstName, 3) from SalesLT.Customer;
Druga kolumna przedstawia wycięte trzy znaki, z kolumny z imionami, rozpoczynając od lewej strony.
right (string, n) - wydobywa ciąg znaków rozpoczynając od prawej strony, którego liczbę znaków określa podany parametr.
select FirstName, right(FirstName, 3) from SalesLT.Customer;
replace (string, substring1, substring2) - funkcja podmienia w ciągu string, wszystkie wystąpienia ciągu substring1, na substring2.
select Name, replace(Name, ‘A’, ‘XXX’) from SalesLT.Product;
Wszystkie wystąpienia A zostały zamienione na XXX, w drugiej kolumnie wyświetlenia.
len (string) - zwraca ilość znaków w ciągu string, jeśli string ma wartość null funkcja zwraca null, a nie (jak byłoby intuicyjnie) 0.
select MiddleName, len(MiddleName) from SalesLT.Customer;
Druga kolumna przedstawia ilość znaków ciągu znajdującego się w pierwszej kolumnie.
datalength (string) - zwraca liczbę bajtów jakie zajmuje string, jeśli string ma wartość null funkcja (tak jak w przypadku funkcji len) zwraca 0. Dodatkowo funkcja ta uwzględnia w wyniku spacje końcowe.
select MiddleName, datalength(MiddleName) from SalesLT.Customer;
charindex (substring, string[, start_pos]) - zwraca położenie pierwszego wystąpienia, pierwszego argumentu, wewnątrz drugiego. Opcjonalnie można podać trzeci argumenty wskazać położenie od którego funkcja ta ma rozpocząć wyszukiwanie. W przypadku braku trzeciego argumentu, funkcja rozpoczyna wyszukiwanie od pierwszego znaku. Jeśli wyszukiwany ciąg nie zostanie znaleziony, funkcja zwróci 0.
select Lastname, charindex(‘ar’,LastName, 2) from SalesLT.Customer;
Powyżej widać, że wyszukiwany ciąg został znaleziony w wierszach 2, 3, 5, 6, 8 i 9 za każdym razem na drugiej pozycji.
patindex (pattern, string) - zwraca położenie pierwszego wystąpienia wzorca wewnątrz ciągu. Jeśli wyszukiwany ciąg nie zostanie znaleziony, funkcja zwróci 0.
select Lastname, patindex(‘%rr%’,LastName) from SalesLT.Customer;
Powyżej widać, że wyszukiwany ciąg został znaleziony w wierszach 2, 3, 5, 6, za każdym razem na trzeciej pozycji.
replicate (string, n) - funkcja powiela ciąg string, zadaną ilość n razy.
select LastName, replicate(LastName, 3) from SalesLT.Customer;
stuff (string, position, delete_length, insertstring) - funkcja z ciągu znaków, usuwa podciąg ze wskazanego miejsca i o wskazanej długości znaków oraz w to miejsce wstawia nowy podciąg.
select LastName, stuff(LastName, 2, 1, ‘abc’) from SalesLT.Customer;
W drugiej kolumnie można zauważyć, że został usunięty jeden znak, z drugiej pozycji i został zastąpiony ciągiem ‘XXX’.
ltrim (string) - zwraca ciąg wyjściowy, jeśli występowały w nim spacje od lewej strony (początkowe) to je usuwa.
rtrim (string) - działa jak powyższa funkcja, z tą różnicą, że spacje usuwa od prawej strony (końcowe).
Komentarze (0)
Brak komentarzy...