Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Ekstrak tanggal dari string oracle

Anda dapat menggunakan:

SELECT  TO_DATE(
          REGEXP_SUBSTR(
            'Chicago, IL, April 20, 2015 — and so on text here',
            '(JANUARY|FEBRUARY|MARCH|APRIL|MAY|JUNE|JULY|AUGUST|SEPTEMBER|'
              || 'OCTOBER|NOVEMBER|DECEMBER)'
              || '[[:space:]]+([012]?[0-9]|3[01])'
              || '[[:punct:][:space:]]+\d{4}',
            1,
            1,
            'i'
          ),
          'MONTH DD YYYY'
        )
FROM    DUAL;

Jika Anda ingin memvalidasi tanggal juga (agar Anda tidak mendapatkan kesalahan untuk February 29, 2001 ) maka Anda dapat menggunakan fungsi yang ditentukan pengguna:

CREATE FUNCTION parse_Date(
  in_string     VARCHAR2,
  in_format     VARCHAR2 DEFAULT 'YYYY-MM-DD',
  in_nls_params VARCHAR2 DEFAULT NULL
) RETURN DATE DETERMINISTIC
AS
BEGIN
  RETURN TO_DATE( in_string, in_format, in_nls_params );
EXCEPTION
  WHEN OTHERS THEN
    RETURN NULL;
END;
/

Dan ganti TO_DATE( ... ) fungsi dengan PARSE_DATE( ... )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan objek java.sql.Timestamp dalam kueri sql

  2. Menjalankan skrip SQL ke dalam Oracle db satu pernyataan pada satu waktu

  3. Cara Memisahkan String di Oracle

  4. Cara memilih nilai tertentu dari XML menggunakan Oracle Xquery

  5. Kunci tabel (baca) eksklusif pada Oracle 10g?