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

Print Friendly, PDF & Email

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) LENGTHpokazuje 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; 






Dzi─Ökuj─Ö Ci, za po┼Ťwi─Öcony czas na przeczytanie tego artyku┼éu. Je┼Ťli by┼é on dla Ciebie przydatny, to gor─ůco zach─Öcam Ci─Ö do zapisania si─Ö na m├│j newsletter, je┼╝eli jeszcze Ci─Ö tam nie ma. Prosz─Ö Ci─Ö tak┼╝e o ÔÇťpolubienieÔÇŁ mojego bloga na Facebooku oraz kana┼éu na YouTube ÔÇô pomo┼╝e mi to dotrze─ç do nowych odbiorc├│w. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artyku┼éach / projektach zanim stan─ů si─Ö publiczne. Mo┼╝esz r├│wnie┼╝ pozostawi─ç ca┼ékowicie anonimowy pomys┼é na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw r├│wnie┼╝ komentarz lub napisz do mnie wiadomo┼Ť─ç odpisuj─Ö na ka┼╝d─ů, je┼╝eli Masz jakie┼Ť pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT