0
0

More than 1 year has passed since last update.

TIMESTAMP_NTZ type | Databricks on AWS [2023/5/11時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

年、月、日、時、分、秒のフィールドの値から構成される値を表現します。すべてのオペレーションはタイムゾーンを考慮しないで実行されます。

この機能はパブリックプレビューです。サポートされない機能に関しては注意セクションをご覧ください。

Delta Lakeにこの機能を使用するには、テーブルでサポートを有効化する必要があります。TIMESTAMP_NTZタイプのカラムを持つ新規Deltaテーブルを作成した際には、機能サポートは自動で有効化されます。TIMESTAMP_NTZカラムのサポートを有効化するには、既存テーブルでは明示的に機能を有効化しなくてはなりません。

サポートの有効化によってテーブルプロトコルをアップグレードします。How does Databricks manage Delta Lake feature compatibility?をご覧ください。以下のコマンドはこの機能を有効化します:

SQL
ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')

構文

TIMESTAMP_NTZ

制限

サポートされるタイムスタンプのレンジは、June 23 -5877641 CEからJuly 11 +5881580 CEです。

リテラル

TIMESTAMP_NTZ timestampString

timestampString
{ '[+|-]yyyy[...]' |
  '[+|-]yyyy[...]-[m]m' |
  '[+|-]yyyy[...]-[m]m-[d]d' |
  '[+|-]yyyy[...]-[m]m-[d]d ' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
  '[+|-]yyyy[..]-[m]m-[d]d[T][h]h:[m]m[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us]' }
  • +-: オプションの符号。-はBCE、+はCE(デフォルト)となります。
  • yyyy: 最低4桁の年。
  • [m]m: 01から12の1桁あるいは2桁の月。
  • [d]d: 01から31の1桁あるいは2桁の日。
  • h[h]: 00から23の1桁あるいは2桁の時。
  • m[m]: 00から59の1桁あるいは2桁の分。
  • s[s]: 00から59の1桁あるいは2桁の秒。
  • [ms][ms][ms][us][us][us]: 最大6桁の小数点の秒。

月や日のコンポーネントが指定されない場合、デフォルト値は1となります。時、分、秒のコンポーネントが指定されない場合、デフォルト値は0となります。

リテラルが適切なタイムスタンプを表現しない場合、レラーが発声します。

注意

  • 現在、TIMESTAMP_NTZタイプは以下ではサポートされていません:
    • Photon
    • Delta Sharing
    • Power BI、Tableau、Databricks JDBC/ODBCドライバー、Databricksオープンソースドライバーで使用されるDatabricksデータソース。
  • TIMESTAMP_NTZタイプは、Delta/Parquet/ORC/AVRO/JSON/CSVを含むファイルソースでサポートされています。しかし、TIMESTAMP_NTZカラムを持つJSON/CSVファイルのスキーマ推定では制限があります。後方互換性のために、spark.read.csv(...)spark.read.json(...)から推定されるデフォルトのタイムスタンプタイプは、TIMESTAMP_NTZではなくTIMESTAMPタイプです。

サンプル

SQL
> SELECT TIMESTAMP_NTZ'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP_NTZ'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP_NTZ'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), CAST(TIMESTAMP '2021-7-1T8:43:28' as TIMESTAMP_NTZ);
  America/Los_Angeles 2021-07-01 08:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP_NTZ)
  1908-03-15 10:01:17

> SELECT TIMESTAMP_NTZ'+10000';
  +10000-01-01 00:00:00

関連情報

Databricksクイックスタートガイド

Databricksクイックスタートガイド

Databricks無料トライアル

Databricks無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0