メインコンテンツまでスキップ

Configure a time zone

タイムゾーンの設定

このトピックでは、タイムゾーンの設定方法とその影響について説明します。

セッションレベルのタイムゾーンまたはグローバルタイムゾーンの設定

time_zoneパラメータを使用して、StarRocksクラスタのセッションレベルのタイムゾーンまたはグローバルタイムゾーンを設定できます。

  • セッションレベルのタイムゾーンを設定するには、SET time_zone = 'xxx';コマンドを実行します。異なるセッションごとに異なるタイムゾーンを設定できます。FEとの切断時にタイムゾーンの設定は無効になります。
  • グローバルタイムゾーンを設定するには、SET global time_zone = 'xxx';コマンドを実行します。タイムゾーンの設定はFEに永続化され、FEとの切断時にも有効です。

注意

StarRocksにデータをロードする前に、StarRocksクラスタのグローバルタイムゾーンを system_time_zoneパラメータの値と同じに変更してください。そうしないと、データロード後にDATE型のデータが正しくなりません。 system_time_zoneパラメータは、FEをホストするマシンのタイムゾーンを指します。マシンが起動されると、そのマシンのタイムゾーンがこのパラメータの値として記録されます。このパラメータを手動で設定することはできません。

タイムゾーンの形式

time_zoneパラメータの値は大文字と小文字を区別しません。パラメータの値は次のいずれかの形式で指定できます。

形式

UTCオフセット

SET time_zone = '+10:00'; SET global time_zone = '-6:00';

タイムゾーン名

SET time_zone = 'Asia/Shanghai'; SET global time_zone = 'America/Los_Angeles';

より詳細なタイムゾーンの書式については、tzデータベースのタイムゾーンの一覧を参照してください。

注意

CST以外のタイムゾーンの略語はサポートされていません。 time_zoneの値を CSTに設定すると、StarRocksはCSTAsia/Shanghaiに変換します。

デフォルトのタイムゾーン

time_zoneパラメータのデフォルト値はAsia/Shanghaiです。

タイムゾーン設定の表示

タイムゾーンの設定を表示するには、次のコマンドを実行します。

 SHOW VARIABLES LIKE '%time_zone%';

タイムゾーン設定の影響

  • タイムゾーン設定は、SHOW LOADおよびSHOW BACKENDSステートメントによって返される時刻値に影響します。ただし、CREATE TABLEステートメントで指定されたパーティション列がDATE型またはDATETIME型の場合、LESS THAN句に指定された値には影響しません。また、DATE型およびDATETIME型のデータにも影響しません。
  • タイムゾーンの設定は、次の関数の表示およびストレージに影響します。
    • from_unixtime: 指定したUTCタイムスタンプに基づいて、指定したタイムゾーンの日付と時刻を返します。たとえば、StarRocksクラスタのグローバルタイムゾーンが Asia/Shanghaiである場合、select FROM_UNIXTIME(0);1970-01-01 08:00:00を返します。
    • unix_timestamp: 指定したタイムゾーンの日付と時刻を基にしたUTCタイムスタンプを返します。たとえば、StarRocksクラスタのグローバルタイムゾーンが Asia/Shanghaiである場合、select UNIX_TIMESTAMP('1970-01-01 08:00:00');0を返します。
    • curtime: 指定したタイムゾーンの現在の時刻を返します。たとえば、指定したタイムゾーンの現在時刻が16:34:05の場合、select CURTIME();16:34:05を返します。
    • now: 指定したタイムゾーンの現在の日付と時刻を返します。たとえば、指定したタイムゾーンの現在の日付と時刻が2021-02-11 16:34:13の場合、select NOW();2021-02-11 16:34:13を返します。
    • convert_tz: あるタイムゾーンから別のタイムゾーンへの日付と時刻の変換を行います。たとえば、select CONVERT_TZ('2021-08-01 11:11:11', 'Asia/Shanghai', 'America/Los_Angeles');2021-07-31 20:11:11を返します。