programmera.net -> oracle -> normal     för utskrift      info@programmera.net

Övriga funktioner i Oracle

  Kommando    Exempel  Beskrivning
  VSIZE  VSIZE(col1)  Visar hur många byte Oracle intert använder för att lagra ett värde.
  DECODE  DECODE(gender, 'M','Man','F','Kvinna','Okänd')  Fungerar som en if-else slinga.
  GREATEST  GREATEST(12,14)  Returnerar största värdet i en lista.
  LEAST  LEAST(12,14)  Returnerar minsta värdet i en lista.
  NVL  NVL(Null, 'Är null')  Om det första värdet ej är Null returneras det, annars returneras det andra värdet.
  UID  UID  Visar användarens id.
  USER  USER  Visar användarens namn.
  USERENV  USERENV('ISDBA')  Visar parametrar för användaren.

VSIZE

Visar hur många byte Oracle intert använder för att lagra ett värde.
SQL> SELECT VSIZE('hej') FROM dual;

VSIZE('HEJ')
------------
           3


DECODE

DECODE(värde,sök,ersätt,sök2,ersätt2,default) används då man vill ersätta ett värde med ett annat. Om inget av sökvärdena hittas kommer default att användas. Se exempel:
SQL> SELECT DECODE('X', 'M','Man','F','Kvinna','Okänd') as gend FROM dual;
		
GEND
-----
Okänd


GREATEST

Returnerar största värdet i en lista:
SQL> SELECT greatest(12,14) FROM dual;
	
GREATEST(12,14)
---------------
             14


LEAST

Returnerar minsta värdet i en lista:
SQL> SELECT least(12,14) FROM dual;
	
LEAST(12,14)
------------
          12


NVL

NVL(utr1, utr2) fungerar så att om utr1 ej är Null returneras utr1, annars returneras utr2.
SQL> SELECT NVL(Null,'Är null') a, NVL('Hej','Är ett') b FROM dual;

A       B
------- ---
Är null Hej


UID

UID visar användarens id:
SQL> SELECT UID FROM dual;

       UID
----------
        63


USER

USER visar användarens namn:
SQL> SELECT user FROM dual;

USER
------------------------------
OLLE


USERENV

Med USERENV('ISDBA') kan man få reda på om användaren har loggat in som SYSDBA.
SQL> SELECT userenv('ISDBA') FROM dual;

USEREN
------
FALSE

För mig är så icke fallet.