sql >> データベース >  >> RDS >> Oracle

Oracleの日付の正規表現

    これを試してください:

    with t(date_col) as (
    select '01/01/2014' from dual
    union all
    select '1/2/2014' from dual
    union all
    select '01/3/2014' from dual
    union all
    select '1/04/2014' from dual
    union all
    select '11/1/14' from dual)
    select date_col,
           case
             when regexp_instr(date_col, '^\d/\d/\d{4}$') = 1 then
              'd/m/yyyy'
             when regexp_instr(date_col, '^\d{2}/\d/\d{4}$') = 1 then
              'dd/m/yyyy'
             when regexp_instr(date_col, '^\d/\d{2}/\d{4}$') = 1 then
              'd/mm/yyyy'
             when regexp_instr(date_col, '^\d{2}/\d{2}/\d{4}$') = 1 then
              'dd/mm/yyyy'
             else
              'Unknown format'
           end date_format
      from t;
    
    DATE_COL   DATE_FORMAT
    ---------- --------------
    01/01/2014 dd/mm/yyyy
    1/2/2014   d/m/yyyy
    01/3/2014  dd/m/yyyy
    1/04/2014  d/mm/yyyy
    11/1/14    Unknown format
    


    1. 5分間隔でデータベースにあるエントリの数を数えます

    2. Python用のMySQLのインストールについてサポートが必要

    3. テキスト比較で大文字と小文字を区別しないように、PostgreSQLデータベースに特定のロケールを使用して成功した人はいますか?

    4. SQL:ストアドプロシージャのin句:値を渡す方法