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

oracle sqlは時差を検索します(両方とも文字列内の時間)

    欠陥のあるデザインがあります 。

    • 日時は絶対に保存しないでください 文字列としての値 。
    • 日付 常に日付要素と時刻要素の両方があるため、時刻要素を個別に保存する必要はありません。

    とにかく、回避策として、最初に文字列を日付に変換してから、で期間を見つける必要があります。 、TRUNC(SYSDATE)に秒を追加します 、残りは単純な<​​strong>日付の書式設定 。

    たとえば、

    SQL> WITH sample_data AS(
      2  SELECT '21:30:03' START_TIME, '21:34:11' END_TIME FROM dual
      3  )
      4  SELECT start_time,
      5    end_time,
      6    TO_CHAR (TRUNC (SYSDATE) + (to_date(end_time, 'HH24:MI:SS') -
      7                                to_date(start_time, 'HH24:MI:SS')
      8                               ) , 'hh24:mi:ss' ) duration
      9  FROM sample_data;
    
    START_TI END_TIME DURATION
    -------- -------- --------
    21:30:03 21:34:11 00:04:08
    
    SQL>
    



    1. 件名にUTF-8エンコーディングを使用してOracleでメールを送信する

    2. Transact-SQLでの連結

    3. 列'id'のないテーブルを続編します

    4. MySQLはいつ列のインデックスを更新しようとしますか?