Ćwiczenie 1. Pokaż pierwszą literę z nazwy każdego produktu.
select left(productName,1) as litera from Products;
Ćwiczenie 2. Na którym miejscu jest litera „a” w nazwie każdego klienta.
select charindex('a',productNAme) as 'litera a' from Products;
Ćwiczenie 3. Rozdziel imię i nazwisko każdego klienta (kolumna contactName).
select ContactName, left(contactName, charindex(' ',contactName)-1) as Imie,
substring(contactName, CHARINDEX(' ',ContactName), 100) as Nazwisko from Customers;
UWAGI:
- Do wyświetlenia imienia użyto funkcji CHARINDEX w celu znalezienia na której pozycji jest spacja, następnie odjęto jeden znak (-1) od tej pozycji, żeby nie było z prawej strony spacji.
- Funkcja SUBSTRING ma trzy argumenty: w czym wycinamy, pozycja startowa od której wycinamy oraz trzeci argument ile znaków w prawo wycinamy. W przykładzie użyto 100 znaków. Jest to niezbyt elegancki sposób, ponieważ teoretycznie zostawiamy długość ciągu 100. W SQL Serwer używany jest system UNICODE do zapisywania znaków i domyślny tym kolumny NVARCHAR co powoduje, że i tak prawe spacje za ciągiem tekstowym są ucinane.
Lepszy byłby sposób poniższy, który „mierzy” długość kolumny contactName :
select ContactName, left(contactName, charindex(' ',contactName)-1) as Imie,
substring(contactName, CHARINDEX(' ',ContactName), len(ContactName)) as Nazwisko from Customers;
Ćwiczenie 4. Zaokrąglij liczbę 156.986543 do dwóch miejsc po przecinku.
select round(156.986543,2);
