Oracle
 sql >> Baza danych >  >> RDS >> Oracle

EXTRACT (data/godzina) Funkcja w Oracle

W bazie danych Oracle EXTRACT(datetime) funkcja wyodrębnia i zwraca wartość określonego pola daty i godziny z wyrażenia daty i godziny lub wyrażenia interwału.

Składnia

Składnia wygląda tak:

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

Gdzie expr to dowolne wyrażenie, którego wynikiem jest data i godzina lub typ danych interwału zgodny z żądanym polem.

expr argument jest traktowany jako typ danych ANSI datetime.

Przykład 1

Oto przykład demonstrujący funkcję:

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

Wynik:

2027

Przykład 2

Oto przykład, który wyodrębnia sekundy i mikrosekundy z TIMESTAMP wartość:

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

Wynik:

57.98321

Interwały

Oto przykład, który wyodrębnia rok z literału interwałowego:

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

Wynik:

25

Próba wyodrębnienia niewłaściwego pola

Oto, co się dzieje, gdy próbujemy wyodrębnić pole, które nie istnieje w określonej wartości:

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

Wynik:

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:

Nie wszystkie części daty można wyodrębnić ze wszystkich typów danych. Zapoznaj się z dokumentacją Oracle, aby zapoznać się z akceptowanymi częściami dat dla każdego typu danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kopiuj z jednej bazy danych do drugiej za pomocą programisty Oracle sql - połączenie nie powiodło się

  2. Jak sprawdzić, czy wartość DataReader nie jest pusta?

  3. 2 sposoby łączenia ciągu i liczby w Oracle

  4. Jak korzystać z WebDev.WebServer.exe (VS Web Server) w x64?

  5. Konfigurowanie integracji danych Pentaho do korzystania z portfela Oracle dla Oracle Cloud