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

SQLiteでのTime()関数のしくみ

    SQLiteにはtime()があります 時間文字列と任意の修飾子に基づいて時間値を返すことができる関数。

    時刻を次の形式で返します:HH:MM:SS

    この関数を使用するには、時間文字列に加えて、任意の(オプションの)修飾子を指定する必要があります。モディファイアを使用すると、時間数を追加したり、現地時間に設定したりするなど、時間を変更できます。

    構文

    time()の構文 関数は次のようになります:

    time(timestring, modifier, modifier, ...)

    timestring 引数は有効な時間文字列である必要があります。

    modifier 引数はオプションです。 1つ以上の修飾子を指定できます。修飾子を指定する場合は、有効な修飾子である必要があります。

    time()を示す基本的な例を次に示します。 1つの引数で使用されている関数。

    SELECT time('now');

    結果:

    03:47:36

    now 時間文字列は現在の日付と時刻に変換されます。 time()を使用しているとすると 関数の場合、時間部分のみが返されます。

    修飾子を追加する

    修飾子を使用して、前の結果を変更できます。これが例です。

    SELECT time('now', '+5 hours');

    結果:

    08:48:24

    この場合、時間に5時間を追加しました。

    複数の修飾子

    前述のように、1つ以上の修飾子を追加できます。前の例に別の修飾子を追加する例を次に示します。

    SELECT time('now', '+5 hours', 'localtime');

    結果:

    18:50:08

    localtime 修飾子は、提供された時間文字列が協定世界時(UTC)であることを前提としています。次に、現地時間を表示するように時間文字列を調整します。

    したがって、現地時間によっては異なる結果が得られる場合があります。

    時間文字列としての文字列リテラル

    上記の例では、nowを使用しています 時間文字列として使用できますが、任意の有効な時間文字列を指定できます。

    他の例をいくつか示します。

    SELECT time('1999-12-18 17:10:23');

    結果:

    17:10:23 

    この場合、日付から日付部分を削除するだけです。

    time()とstrftime()

    time() 関数は、strftime('%H:%M:%S', ...)とまったく同じ結果を返します。 戻り値。 time() 関数はそれを行うためのより便利な方法です。

    SELECT 
      time('now'),
      strftime('%H:%M:%S', 'now');

    結果:

    time('now')  strftime('%H:%M:%S', 'now')
    -----------  ---------------------------
    03:56:09     03:56:09                   

    日付範囲

    すべてのSQLite日付および時刻関数と同様に、time() 0000-01-0100:00:00から9999-12-3123:59:59(ユリウス日番号1721059.5から5373484.5)の間の日付でのみ機能します。

    その範囲外の日付の場合、結果は未定義です。


    1. MySQL Galeraクラスターレプリケーションを使用した地理分散クラスターの作成:パート2

    2. SQL ServerのCONVERT()とTRY_CONVERT:違いは何ですか?

    3. Rails+Postgresで任意の時間間隔でレコードをカウントするための最良の方法

    4. ORA-00907:右括弧がありません