TIMESTAMP

TIMESTAMP 类型用于表示日期和时间戳,可以包含时区信息。默认情况下,时间戳表示为本地时间(TIMESTAMP_LTZ)。所有操作都在当前会话的时区中执行,输出结果也以当前Lakehouse所在服务的时区为准。支持用户输入多种格式的时间戳,并自动转换为TIMESTAMP类型。输出结果为字符串格式,格式为 'yyyy-MM-dd HH:mm:ss',如果用户输入包含毫秒,则输出结果也会包含毫秒。最大精度支持到微秒(us),精度取决于写入时的时间戳精度。

语法

TIMESTAMP | TIMESTAMP_LTZ

示例

  1. 使用默认时间戳格式:
SELECT TIMESTAMP '2022-12-31 00:00:00';
SELECT TIMESTAMP_LTZ '2022-12-31 00:00:00';
  1. 使用不同格式的时间戳:
SELECT TIMESTAMP '2022-12-31 00:00:00.123'; -- 包含毫秒
+------------------------------------+

| TIMESTAMP'2022-12-31 00:00:00.123' |

+------------------------------------+

| 2022-12-31 00:00:00.123            |

+------------------------------------+

SELECT TIMESTAMP '2022-12-31T00:00:00.123Z'; -- ISO 8601 格式,包含时区信息
+-------------------------------------+

| TIMESTAMP'2022-12-31T00:00:00.123Z' |

+-------------------------------------+

| 2022-12-31 08:00:00.123             |

+-------------------------------------+
  1. 将字符串转换为时间戳类型:
SELECT CAST('2022-12-31 00:00:00' AS TIMESTAMP);
SELECT CAST('2022-12-31 00:00:00' AS TIMESTAMP_LTZ);
  1. 使用不同的精度选项:
SELECT TIMESTAMP  '2022-12-31 00:00:00.123456'; -- 微秒精度
SELECT TIMESTAMP  '2022-12-31 00:00:00.123'; -- 毫秒精度
SELECT TIMESTAMP  '2022-12-31 00:00:00'; -- 秒精度

注意事项

  • 在进行时间戳转换时,请注意时区差异可能导致的误差。
  • 请确保输入的时间戳格式与系统支持的格式相匹配,以免出现错误。

联系我们
预约咨询
微信咨询
电话咨询