MAKE_TIMESTAMPTZ
📄字数 798
👁️阅读量 加载中...
功能描述
根据指定的年、月、日、时、分、秒和时区构建一个 TIMESTAMP WITH TIME ZONE
类型的值。
语法格式
sql
MAKE_TIMESTAMPTZ(expr1, expr2, expr3, expr4, expr5, expr6[, expr7])
1
输入参数
expr1
:INTEGER
类型或者能隐式转换为INTEGER
类型的其他类型的值或者表达式,年份,不为NULL
。expr2
:INTEGER
类型或者能隐式转换为INTEGER
类型的其他类型的值或者表达式,月份,月份的取值范围[1,12]
。expr3
:INTEGER
类型或者能隐式转换为INTEGER
类型的其他类型的值或者表达式,日,日的取值范围是[1,31],跟指定的月份相关,不能超过指定月的最大日值。expr4
:INTEGER
类型或者能隐式转换为INTEGER
类型的其他类型的值或者表达式,小时,取值范围[0,23]
。expr5
:INTEGER
类型或者能隐式转换为INTEGER
类型的其他类型的值或者表达式,分钟,取值范围[0,59]
。expr6
:DOUBLE
类型或者能隐式转换为DOUBLE
类型的其他类型的值或者表达式,秒数,取值范围[0,59]
。expr7
:可选值,VARCHAR
类型或者能隐式转换为VARCHAR
类型的其他类型的值或者表达式,时区,缺省时,使用系统默认时区(参考系统参数def_timezone)。
输出结果
DATETIME WITH TIME ZONE
类型,输入参数为 NULL
,输出结果为 NULL
,日期或时间无效时,输出结果为 NULL
,EXPR7
为空字符串时,返回 NULL
,日期格式为YYYY-MM-DD HH24:MI:SS.FFF TZH:TZM
。
示例
sql
-- 根据年份、月份、日期、小时、分钟、秒数、时区生成一个日期
SQL> SELECT MAKE_TIMESTAMPTZ(2025,06,18,15,30,45.123456,'GMT-09:00') FROM dual;
+---------------------------------+
| EXPR1 |
+---------------------------------+
| 2025-06-18 14:30:45.123 +08:00 |
+---------------------------------+
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8