Heim > Datenbank > Oracle > Welche Funktionen hat Orakel?

Welche Funktionen hat Orakel?

青灯夜游
Freigeben: 2022-03-16 17:36:48
Original
44365 Leute haben es durchsucht

Zu den Funktionen von

Oracle gehören: 1. String-Funktionen, einschließlich ASCII(), CONCAT() usw.; 2. Numerische Funktionen, einschließlich ABS(), COS() usw.; ROUND( ) usw.; 4. Konvertierungsfunktionen, einschließlich TO_CHAR(), TO_DATE() usw.

Welche Funktionen hat Orakel?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

Oracle SQL-Anweisungen verwenden häufig Oracle-eigene Funktionen. Diese Funktionen bereichern die Sprachfunktionen von SQL und bieten mehr Bedienbarkeit für Oracle SQL. Oracle-Funktionen können null oder mehr Eingabeparameter akzeptieren und ein Ausgabeergebnis zurückgeben. Es gibt zwei Haupttypen von Funktionen, die in der Oracle-Datenbank verwendet werden:

1. Einzelzeilenfunktion: Wenn jede Funktion auf die Datensätze der Tabelle angewendet wird, können nur die Spaltenwerte in einer Zeile als Eingabeparameter eingegeben werden (oder Konstanten) und gab ein Ergebnis zurück.

Zum Beispiel 1: MOD(X,Y) ist eine Restfunktion, die den Rest von X dividiert durch Y zurückgibt, wobei X und Y Spaltenwerte oder Konstanten sein können.

Zum Beispiel 2: TO_CHAR(X,'YYYYMMDD') ist eine Funktion, die den Zeittyp in eine Zeichenfolge konvertiert, wobei X eine Spalte eines bestimmten Zeittyps (Datum) in der Zeile oder eine Zeittypkonstante sein kann .

Häufig verwendete einzeilige Funktionen lauten ungefähr wie folgt:

  • String-Funktionen: Arbeiten mit Strings, wie zum Beispiel: TO_CHAR(), SUBSTR(), DECODE() usw.

  • Numerische Funktion: Führt Berechnungen oder Operationen mit numerischen Werten durch und gibt eine Zahl zurück. Zum Beispiel: ABS(), MOD(), ROUND() usw.

  • Konvertierungsfunktion: Konvertieren Sie einen Datentyp in einen anderen Typ: zum Beispiel: TO_CHAR(), TO_NUMBER(), TO_DATE() usw.

  • Datumsfunktion: eine Funktion, die auf Uhrzeit und Datum basiert. Zum Beispiel: TRUNC(), SYSDATE(), ADD_MONTHS() usw.

2. Aggregationsfunktion: Aggregationsfunktionen können mehrere Datenzeilen gleichzeitig bearbeiten und ein Ergebnis zurückgeben. SUM(x) gibt beispielsweise die Summe der x Spalten im Ergebnissatz zurück.

1. String-Funktion

Die Zeichenfunktion akzeptiert Zeichenparameter, bei denen es sich um Spalten in der Tabelle oder um einen String-Ausdruck handeln kann.

Häufig verwendete Zeichenfunktionen:

Funktion

Beschreibung

ASCII(X)

Gibt den ASCII-Code des Zeichens X zurück

CONCAT(X, Y )

Strings verbinden nStart

LENGTH(X)

Gibt die Länge von

OBER(X)
X wird in Großbuchstaben umgewandelt

LTRIM(X[,TRIM_STR])
Schneiden Sie die Zeichenfolge trim_str auf der linken Seite von TRIM_STR]) ab.

Schneiden Sie die Zeichenfolge trim_str auf der rechten Seite von By ab Standardmäßig werden Leerzeichen abgeschnitten

REPLACE(X,old,new)

Altes in

Gibt die Zeichenfolge der Beispielergebnisse zurück

SELECT ASCII('a') FROM dual;

97

SELECT CONCAT('Hello','world') FROM dual;

Helloworld

SELECT INSTR('Hello world','or') FROM dual;

8

SELECT LENGTH('Hello') FROM dual;

5

SELECT LOWER('Hallo') FROM dual;

hello


SELECT UPPER('hello') FROM dual;

SELECT LTRIM('=Hallo= ',' =') FROM dual;SELECT RTRIM('=Hallo=','=') FROM dual;SELECT TRIM(' ='FROM'=Hallo=') FROM dual;SELECT REPLACE('ABCDE','CD','AAA')FROM dual;SELECT SUBSTR('ABCDE',2,3) FROM dual;

Hallo=

=Hallo

Hallo

ABAAAE

BCD

2. Numerische Funktion

Die numerische Funktion akzeptiert numerische Parameter. Der Parameter kann aus einer Spalte in der Tabelle stammen oder ein numerischer Ausdruck sein.

Anleitung:

1. RUNDEN(X[,Y]), Rundung.

Wenn das Standard-y verwendet wird, ist das Standard-y=0, zum Beispiel: ROUND(3.56)=4.

y ist eine positive ganze Zahl, die auf y Dezimalstellen gerundet wird. RUND(5,654,2)=5,65.

y ist eine negative ganze Zahl, gerundet auf |y| Stellen links vom Dezimalpunkt. RUND(351.654,-2)=400.

2. TRUNC(x[,y]), direkt abfangen, ohne zu runden.

Wenn der Standardwert y verwendet wird, ist der Standardwert y=0, zum Beispiel: TRUNC (3,56)=3.

Y ist eine positive ganze Zahl, die auf y Dezimalstellen gerundet wird. TRUNC (5,654,2)=5,65.

y ist eine negative ganze Zahl, gerundet auf |y| Stellen links vom Dezimalpunkt. TRUNC (351.654,-2)=300.

3. Datumsfunktion

Die Datumsfunktion arbeitet mit Datumsangaben. Häufig verwendete Datumsfunktionen sind:

1, ADD_MONTHS(d,n), addieren Sie die angegebene Anzahl von Monaten n zu einem bestimmten Datum d und geben Sie das berechnete neue Datum zurück.

d stellt das Datum dar, n stellt die Anzahl der hinzuzufügenden Monate dar.

Beispiel:

SELECT SYSDATE,add_months(SYSDATE,5) FROM dual;
Nach dem Login kopieren

2, LAST_DAY(d), gibt den letzten Tag des Monats am angegebenen Datum zurück.

Beispiel:

SELECT SYSDATE,last_day(SYSDATE) FROM dual;
Nach dem Login kopieren

3. ROUND(d[,fmt]), gibt einen gerundeten Datumswert im FMT-Format zurück, d ist das Datum, FMT ist das Format

Modell. Die Standardfmt ist DDD, also ein Tag im Monat.

Ø ① Wenn fmt „YEAR“ ist, wird es auf den 1. Januar eines bestimmten Jahres gerundet, dh die erste Jahreshälfte wird abgerundet und die zweite Jahreshälfte wird als die nächste betrachtet Jahr.

Ø ② Wenn fmt „MONTH“ ist, wird auf den 1. eines bestimmten Monats gerundet, d. h. der Vormonat wird abgerundet und die zweite Monatshälfte wird als nächster Monat betrachtet.

Ø ③ Der Standardwert ist „DDD“, dh ein bestimmter Tag im Monat, der nächstgelegene Tag, die erste Tageshälfte wird verworfen und die zweite Tageshälfte wird als nächster Tag betrachtet.

Ø ④ Wenn fmt „DAY“ ist, wird es auf den Sonntag der nächsten Woche gerundet, dh die erste Wochenhälfte wird verworfen und die zweite Wochenhälfte wird als Sonntag der nächsten Woche betrachtet .

Beispiel:

SELECT SYSDATE,ROUND(SYSDATE),ROUND(SYSDATE,'day'),
ROUND(SYSDATE,'month'),ROUND(SYSDATE,'year') FROM dual;
Nach dem Login kopieren

Die Funktion, die ROUND entspricht, ist TRUNC(d[,fmt]), die für Datumsangaben sehr ähnlich zu ROUND ist, außer dass das Datum nicht gerundet wird und die erste Ziffer von das entsprechende Format wird direkt von Sky abgefangen.

4. EXTRACT(fmt FROM d), extrahieren Sie einen bestimmten Teil des Datums.

fmt ist: JAHR, MONAT, TAG, STUNDE, MINUTE, SEKUNDE. Unter diesen können YEAR, MONTH und DAY mit dem Typ DATE oder dem Typ TIMESTAMP übereinstimmen, aber HOUR, MINUTE und SECOND müssen mit dem Typ TIMESTAMP übereinstimmen.

STUNDE Die Zeitzone wird nicht zu den Abgleichsergebnissen hinzugefügt, sodass die in China ausgeführten Ergebnisse 8 Stunden kleiner sind.

Beispiel:

SELECT SYSDATE "date",
       EXTRACT(YEAR FROM SYSDATE)"year",
       EXTRACT(MONTH FROM SYSDATE)"month",
       EXTRACT(DAY FROM SYSDATE)"day",
       EXTRACT(HOUR FROM SYSTIMESTAMP)"hour",
       EXTRACT(MINUTE FROM SYSTIMESTAMP)"minute",
       EXTRACT(SECOND FROM SYSTIMESTAMP)"second"
FROM dual;
Nach dem Login kopieren

4. Konvertierungsfunktion

Konvertierungsfunktion konvertiert einen Wert von einem Datentyp in einen anderen Datentyp. Gängige Konvertierungsfunktionen sind:

1, TO_CHAR(d|n[,fmt])

Konvertieren Sie Datumsangaben und Zahlen in Zeichenfolgen in einem bestimmten Format. Fmt ist eine formatierte Zeichenfolge

Codedemonstration: TO_CHAR-Verarbeitung von Datumsangaben

SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')"date" FROM dual;
Nach dem Login kopieren

Codeanalyse:

Verwenden Sie in der formatierten Zeichenfolge doppelte Anführungszeichen, um nicht formatierte Zeichen in Anführungszeichen zu setzen

Formatierung von Zahlen, die Formatierungszeichen sind:

Funktion

Erklärung

Beispiel

ABS(X)

Absoluter Wert von X

ABS(-3)=3

ACOS(X)

X-Kosinus

ACOS(1)=0

COS(X)

Kosinus

COS (1)=0,54030230586814

CEIL(X)

größer oder gleich dem Minimalwert des Maximalwerts von

X ist der Logarithmus der Basis Y. =8
TRUNC(3.456, 2)=3,45

Parameter

Beispiel

Beschreibung

9

999

Nummern am angegebenen Ort anzeigen

.

9.9

Die angegebene Position gibt einen Dezimalpunkt zurück.

,

99,99

Die angegebene Position gibt ein Komma zurück

$
999 $

Gibt ein Dollarzeichen am Anfang der Zahl zurück

EEEE
9,99EEEE

Wissenschaftliche Notation

L
L999

Präfixnummern A lokales Währungssymbol

PR
999PR

Wenn die Zahl negativ ist, wird sie durch spitze Klammern dargestellt

代码演示:TO_CHAR对数字的处理

SELECT TO_CHAR(-123123.45,'L9.9EEEEPR')"date" FROM dual;
Nach dem Login kopieren

2、TO_DATE(X,[,fmt])

把一个字符串以fmt格式转换成一个日期类型

3、TO_NUMBER(X,[,fmt])

把一个字符串以fmt格式转换为一个数字

代码演示:TO_NUM函数

SELECT TO_NUMBER('-$12,345.67','$99,999.99')"num" FROM dual;
Nach dem Login kopieren

五、其它单行函数

1、NVL(X,VALUE)

如果X为空,返回value,否则返回X

例:对工资是2000元以下的员工,如果没发奖金,每人奖金100元

代码演示:NVL函数

SQL> SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000;
-------------------------------------------------------------------
ENAME    JOB    SAL    NVL(COMM,100) 
SMITH    CLERK    800    100 
ALLEN    SALESMAN    1600    300 
WARD    SALESMAN    1250    500 
MARTIN    SALESMAN    1250    1400 
TURNER    SALESMAN    1500    50 
ADAMS    CLERK    1100    100 
JAMES    CLERK    950    100 
-------------------------------------------------------------------
7 rows selected
Nach dem Login kopieren

2、NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2

例:对EMP表中工资为2000元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元

代码演示:NVL2函数

SQL> SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm"
2   FROM EMP WHERE SAL<2000;
-------------------------------------------------------------------
ENAME    JOB    SAL    comm 
SMITH    CLERK    800    200 
ALLEN    SALESMAN    1600    400 
WARD    SALESMAN    1250    600 
MARTIN    SALESMAN    1250    1500 
TURNER    SALESMAN    1500    150 
ADAMS    CLERK    1100    200 
JAMES    CLERK    950    200 
MILLER    CLERK    1300    200
-------------------------------------------------------------------------------------------------------
8 rows selected
Nach dem Login kopieren

六、聚合函数

聚合函数同时对一组数据进行操作,返回一行结果,比如计算一组数据的总和,平均值

等。

名称

作用

语法

AVG

平均值

AVG(表达式)

SUM

求和

SUM(表达式)

MIN、MAX

最小值、最大值

MIN(表达式)、MAX(表达式)

COUNT

数据统计

COUNT(表达式)

例:求本月所有员工的基本工资总和

代码演示:sum函数

SQL> SELECT SUM(sal) FROM emp;
-------------------------------------------------------------------
SUM(SAL)
29025
Nach dem Login kopieren

例:求不同部门的平均工资

代码演示:AVG函数下的分组查询

SQL> SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;  
-------------------------------------------------------------------
DEPTNO    AVG(SAL)
---------    ----------
30    1566.66666
20     2175
10    2916.66666
Nach dem Login kopieren

推荐教程:《Oracle教程

Das obige ist der detaillierte Inhalt vonWelche Funktionen hat Orakel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage