niedziela, 5 stycznia 2014

SQL,PL/SQL - Funkcje znakowe (UPPER, LOWER itd.)- Oracle 10/11 cz.7

Funkcje znakowe w przeważającej ilości pomagają uatrakcyjnić wyniki naszych zapytań niż mają nam ułatwić ich wykonywanie, jednak czasami pomagają nam stworzyć ładniejsze raporty dla szefów;)

1) UPPER - przy jej pomocy w wynikach naszych zapytań pojawią się tylko i wyłącznie duże litery.

SELECT LAST_NAME, UPPER(LAST_NAME) FROM EMPLOYEES;


2) LOWER - przeciwieństwo w/w  funkcji zamienia wszystkie znaki na małe.

SELECT LAST_NAME, LOWER(LAST_NAME) FROM EMPLOYEES;




3) INITCAP - zmienia jedynie pierwszy znak na duży pozostałe są małe.

SELECT LOWER(LAST_NAME), INITCAP(LAST_NAME) FROM EMPLOYEES;


4) LPAD - wypełnienie z lewej strony wyniku zapytania do podanej długości jako drugi parametr oraz przy pomocy znaku podanego jako trzeci parametr.

SELECT LPAD(LAST_NAME,5,'*')  FROM EMPLOYEES;


5) RPAD -wypełnienie podobnie jak wyżej ale z prawej strony.

SELECT RPAD(LAST_NAME,5,'*') FROM EMPLOYEES;


6) REPLACE -zmienia wystąpienie znaku podanego jako drugi parametr na inny wpisany jako trzeci parametr.

SELECT REPLACE(LAST_NAME,'A','^') FROM EMPLOYEES;


7) SUBSTR - pozwala na wycięcie określonego fragmentu wyniku z naszego zapytania. Poniższe zapytanie pokaże jedynie 4 pierwsze znaki w każdym wierszu zapytania

 SELECT SUBSTR(LAST_NAME,1,4) FROM EMPLOYEES;




Wersja w której wykorzystujemy jedynie dwa parametry czyli nazwę kolumny oraz parametr który określa numer znaku + 1 od którego następuje wyświetlenie informacji. Dla poniższego zapytania zostaną wyświetlone jedynie 2 ostatnie znaki, przy założeniu że wpis ma tylko 5 znaków.

SELECT SUBSTR(LAST_NAME,3) FROM EMPLOYEES;


Możemy również wykorzystać parametry z wartościami ujemny co powoli nam pokazać znaki od lewej strony. Jeżeli wpiszemy w parametr -2 wynik otrzymamy identyczny z tymi z powyższego zapytania.

SELECT SUBSTR(LAST_NAME,-2) FROM EMPLOYEES;


8) LTRIM / RTRIM - funkcje pozwalają na usunięcie określonych znaków z szablonu odpowiednio z lewej lub prawej strony, usunięte elementy nie muszą być w 100% zgodne ze wzorcem, usuwane są również częściowe zgodności. Widać to już na początku zapytania, gdzie chcemy usunąć Ab z nazwiska. W pierwszym wierszu tak się staje, natomiast już w drugim usunięte zostanie jedynie A.

SELECT LTRIM(LAST_NAME,'Ab') FROM EMPLOYEES;


Podobnie działa RTRIM, tyle że szukamy zgodności ze wzorcem z prawej strony.

9) TO_CHAR - pozwala zamienić dane z postaci cyfrowej do znakowej, dzięki czemu pozwala zaokrąglić dane dotyczące, np. pensji. Więc w poprzednim wpisie - http://geek-admin.blogspot.com/2014/01/sqlplsql-filtrowanie-wynikow-zapytan.html.

10) TO_NUMBER - pozwala zamienić dane z postaci znakowej na cyfrowe. Zachowanie podobnie jak wyżej.

SELECT TO_NUMBER('100.12','999999.99') FROM EMPLOYEES;



11) LENGTH - pokazuje długość wyniku naszego zapytania.

SELECT LAST_NAME,LENGTH(LAST_NAME) FROM EMPLOYEES;


12) DECODE - jest podobna do instrukcji if, wpisujemy parametry które w zależności od wartości mogą być opisywane w różny sposób. Poniżej wybieramy nazwę kraju oraz kod kontynentu wraz z tłumaczeniem.

select country_name, decode(region_id,1,'Europa',
                                      2, 'Ameryka',
                                      3, 'Azja',
                                      4,'Bliski wschód i Afryka') from countries; 








Brak komentarzy:

Prześlij komentarz