Zbiór zadań z SQL Serwer poziom I

Ć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:

  1. 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. 
  2. 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);

 

 

 

Przewijanie do góry