sql >> Databáze >  >> RDS >> Oracle

EXTRACT (datetime) Funkce v Oracle

V databázi Oracle EXTRACT(datetime) funkce extrahuje a vrátí hodnotu zadaného pole datetime z výrazu datetime nebo interval.

Syntaxe

Syntaxe vypadá takto:

EXTRACT( { YEAR
         | MONTH
         | DAY
         | HOUR
         | MINUTE
         | SECOND
         | TIMEZONE_HOUR
         | TIMEZONE_MINUTE
         | TIMEZONE_REGION
         | TIMEZONE_ABBR
         }
         FROM { expr }
       )

Kde expr je jakýkoli výraz, který se vyhodnotí jako datový typ datetime nebo interval kompatibilní s požadovaným polem.

expr argument je považován za datový typ ANSI datetime.

Příklad 1

Zde je příklad pro demonstraci funkce:

SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;

Výsledek:

2027

Příklad 2

Zde je příklad, který extrahuje sekundy a mikrosekundy z TIMESTAMP hodnota:

SELECT 
    EXTRACT(SECOND FROM TIMESTAMP '2027-10-15 23:10:57.98321 +04:00') AS Result
FROM DUAL;

Výsledek:

57.98321

Intervaly

Zde je příklad, který extrahuje rok z intervalového literálu:

SELECT EXTRACT(YEAR FROM INTERVAL '25-3' YEAR TO MONTH)
FROM DUAL;

Výsledek:

25

Pokus o extrahování nesprávného pole

Co se stane, když se pokusíme extrahovat pole, které v zadané hodnotě neexistuje:

SELECT 
    EXTRACT(SECOND FROM DATE '2027-10-15') AS Result
FROM DUAL;

Výsledek:

Error starting at line : 1 in command -
SELECT 
    EXTRACT(SECOND FROM DATE '2027-10-15') AS Result
FROM DUAL
Error at Command Line : 2 Column : 25
Error report -
SQL Error: ORA-30076: invalid extract field for extract source
30076. 00000 -  "invalid extract field for extract source"
*Cause:    The extract source does not contain the specified extract field.
*Action:

Ne všechny části data lze extrahovat ze všech datových typů. Podívejte se do dokumentace Oracle, kde najdete informace o přijatých datech pro každý daný typ dat.


  1. MariaDB JSON_ARRAY_INSERT() Vysvětleno

  2. JSON_OBJECT() – Vytvoření objektu JSON ze seznamu párů klíč/hodnota v MySQL

  3. sekvenční sumace dotazů Oracle na řádky

  4. zobrazení více záznamů pomocí sady výsledků