2つの異なるタイプのvarchar形式の日付を特定の形式のvarchar形式の日付に変更する必要があります

Java学習者

LOGINテーブルの列LOGIN_DATETIMEがあります

列はvarchar2で、2つの形式の値があります

  1. 20-11-2018 01:00:00
  2. 20-07-2018 14:00

この列から次の形式でvarchar値を導出する必要があります

dd-mmm-yyyy hh:mi am/pm

期待される結果

  1. 20-Nov-2018 01:00 AM
  2. 20-Jul-2018 02:00 PM

私は好きにしようとしました

フォーマット1:

SELECT TO_CHAR(TO_DATE(LOGIN_DATETIME, 'DD-mm-yyyy hh:mi:ss'), 'dd-mmm-yyyy hh:mi AM') 
FROM LOGIN
WHERE LOGIN_DATETIME is not null;

フォーマット2:

SELECT TO_CHAR(TO_DATE(LOGIN_DATETIME, 'DD-mm-yyyy hh:mi'), 'dd-mmm-yyyy hh:mi AM') 
FROM LOGIN
WHERE LOGIN_DATETIME is not null;

動いていない。

ファムX.バッハ

これは1つのクエリのみを使用できます。

SELECT 
    CASE 
        WHEN LENGTH(login_datetime) = 19 THEN TO_CHAR(TO_DATE(login_datetime, 'DD-MM-YYYY HH24:MI:SS'), 'DD-Mon-YYYY HH:MI AM')
        WHEN LENGTH(login_datetime) = 16 THEN TO_CHAR(TO_DATE(login_datetime, 'DD-MM-YYYY HH24:MI'), 'DD-Mon-YYYY HH:MI AM')
    END AS login_datetime
FROM login
ORDER BY 1;

レキセスター正常にテスト済み

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ