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

Ekspresi Reguler dari format Tanggal tertentu

Ini adalah ide yang buruk. hanya cara untuk memvalidasi bahwa tanggal itu benar adalah dengan mencoba mengubahnya menjadi tanggal. Jika konversi gagal maka itu bukan tanggal; jika berhasil maka mungkin menjadi. Tanggal terlalu rumit untuk diuraikan dalam bahasa biasa.

Jadi, buat fungsi yang mengubahnya menjadi tanggal; Anda dapat membuatnya jika jauh lebih umum daripada yang Anda miliki di sini, sehingga dapat digunakan kembali untuk tujuan lain:

create or replace function validate_date (
     PDate in varchar2
   , PDateFormat in varchar2
     ) return date is
begin
   return to_date(PDate, PDateFormat);
exception when others then
   return null;
end;

Ini mengembalikan tanggal jika dapat memvalidasi bahwa tanggal dan format tanggal cocok, jika tidak mengembalikan NULL jika ada kesalahan. Permintaan Anda kemudian menjadi:

select 'P' from dual where validate_date('20140506', 'yyyymmdd') is not null


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara otomatis untuk menghasilkan skrip rollback saat memasukkan data dengan LINQ2SQL?

  2. Javascript Menyortir Array seperti memesan di Oracle

  3. Oracle - Tampilan Terwujud mengubah struktur sangat lambat

  4. Kesalahan SQL Loader:Bidang panjang variabel melebihi panjang maksimum.

  5. SSMA untuk Oracle Hubungkan ke kesalahan Oracle