Skip to Main Content

 

Auswahl  

Komplett Übersicht aller Oracle Tipps

Oracle Arithmetische Funktionen und String Funktionen 

Oracle
SQL
RDBMS 11.2:RDBMS 12.x:RDBMS 19.1:RDBMS 21.1:RDBMS 23.1:RDBMS 18.1
05.07.23 (MP)
11.02.25(MP)
Arithmetische Funktionen

Passende Schulungen zum Thema

Oracle´s Arithmetische Funktionen

INFOBESCHREIBUNGBEISPIEL
CEIL (x)rundet auf nächsthöhere ganze Zahl aufSELECT ceil(-9.7) FROM dual;
MOD (m, n)gibt Rest der Division m:n als (ganze) Zahl wiederSELECT mod(5,2) FROM dual;
POWER (x, y)ermittelt den Wert der Potent x^ySELECT power(2,3) FROM dual;
ROUND (x[,n])rundet auf n Dezimalstellen auf oder abSELECT round(2.456,2) FROM dual;
SQRT (x)zieht die Wurzel von XSELECT sqrt(256) FROM dual;
TRUNC (x[,n])schneidet Wert nach n Dezimalstellen ohne           
Runden ab
SELECT trunc(94.89, 1) FROM dual;

 

 

Oracle Datumsfunktionen

INFOBESCHREIBUNGBEISPIEL
ADD_MONTHS('DD.MM.YYYY',n)fügt n Monate hinzuSELECT add_months(sysdate, 3) FROM dual;
LAST_DAY('DD.MM.YYYY')gibt den letzten Tag des Monats zurückSELECT last_day('07.05.19') FROM dual;
NEXT_DAY('DD.MM.YYYY', day)gibt den darauffolgenden Tag anSELECT next_day(sysdate,'MONDAY') FROM dual;
MONTHS_BETWEEN('...','...')berechnet Anzahl der Monate zwischen zwei DatenSELECT months_between(sysdate, '01.01.19') FROM dual;
ROUND(date[,fmt])rundet Datum auf fmt-Einheit auf oder abSELECT round(to_date('16.05.19'), 'MM') FROM dual;
TRUNC(date[,fmt])schneidet Datum auf fmt-Einheit abSELECT trunc(sysdate, 'YY') FROM dual;

 

 

Oracle Konvertierungsfunktionen

INFO

 

BESCHREIBUNGBEISPIEL
TO_CHAR(date,'fmt')Datumskonvertierung (Datum -> Zeichenkette)SELECT to_char(sysdate, 'DAY DD-MM-YYYY') FROM dual;
TO_CHAR(number, 'fmt')zeigt eine Zahl als Zeichen an (Zahl -> Zeichenkette)SELECT to_char(sal, 'L99,999.99') FROM emp;
TO_NUMBER(char[,'fmt'])konvertiert Zeichenkette in ZahlSELECT to_number(sal) FROM emp;
TO_DATE('...', 'fmt')konvertiert Zeichenkette mit Datum in DatumswertSELECT ename, hiredate FROM emp           
WHERE hiredate = to_date('Februar 22,           
1981', 'Month DD. YYYY');)
NVL(spalte, ausdruck)konvertiert NULL-Werte in aktuellen WertSELECT ename, sal*12+nvl(comm, 0) FROM emp;
DECODE (col, search1, result1[, search2, result2, ...][,default])ermöglicht bedingte Abfragen (If-Then-Else)SELECT ename, deptno, sal           
decode(depnto, 10, sal*1.05,20,sal*1.15,sal)           
erhöhung           
FROM emp;

 

 

Oracle Stringfunktionen

INFOBESCHREIBUNGBEISPIEL
GREATEST/LEAST(Ausdruck)ermittelt den größten/kleinsten Wert aus einer WertemengeSELECT least(-1,3,456) FROM dual;
LENGTH('...')gibt Länge einer Zeichenkette als Zahl wiederSELECT ename, length(ename) FROM emp;
INSTR('...','a'[,x,y])gibt Position eines bestimmten Zeichens als Zahl anSELECT instr('Suchmaschine', 'h', 1)           
FROM dual;           
=>4           
SELECT instr('Suchmaschine', 'h', 1, 2)           
FROM dual;           
=>9           
SELECT instr('Suchmaschine', 'h', 5)           
FROM dual;           
=>9
SUBSTR('...',x[,y])extrahiert Zeichenkette der angegebenen LängeSELECT substr('Marco', 1, 3) FROM dual;           
=>Mar           
SELECT substr('Marco', 4) FROM dual;           
=>co           
SELECT substr('Marco',-1) FROM dual;           
=>o
LTRIM/RTRIM(Ausdruck[,'SET'])entfernt Zeichen eines Strings von Links nach RechtsSELECT ename, RTRIM(ename, 'ER') FROM emp;
TRIM(leading|trailing|both 'X' FROM Ausdruck)entfernt Zeichen eines Strings am Anfang oder Ende oder beidesSELECT TRIM(leading ' ' FROM ' Hallo '           
FROM dual;
LPAD/RDAP(spalte)füllt Zeichenwert mit Leerzeichen zum rechts-/ linksbündigen Blocksatz aufSELECT ename, LDAP(sal, 10, '*') gehalt           
FROM emp;
LOWER(spalte/ausdruck)wandelt in Kleinbuchstaben umSELECT lower(ename) FROM emp;
UPPER(spalte/ausdruck)wandelt in Großbuchstaben umSELECT upper(ename) FROM emp;
INITCAP(spalte/ausdruck)wandelt jeweils den ersten Buchstaben eines Wortes umSELECT initcap(ename) FROM emp;
REPLACE(spalte,'x','y')Ersetzt Zeichen 'x' durch 'y' innerhalb eines StringsSELECT ename, replace(ename, 'R', '#' FROM emp;
TRANSLATE(spalte, 'str1', 'str2')ersetzt String innerhalb eines Strings durch einen neuen StringSELECT ename, translate(ename, 'ABCDEF', 'GHJKL') FROM emp;