我正在尝试使用以下代码将时间戳类型的新列添加到具有默认值的表中;
ALTER TABLE "DATABASE"."SCHEMA"."TABLE" ADD COLUMN PRESENT_TIME TIMESTAMPNTZ DEFAULT CONVERT_TIMEZONE('UTC',current_timestamp())::TIMESTAMP_NTZ
但这给了我一个错误;
<块引用>SQL 编译错误:无效的列默认表达式 [CAST(CONVERT_TIMEZONE('UTC', CAST(CURRENT_TIMESTAMP() AS TIMESTAMP_TZ(9))) AS TIMESTAMP_NTZ(9))]
编辑
ALTER TABLE "DATABASE"."SCHEMA"."TABLE" ADD COLUMN PRESENT_TIME TIMESTAMP
DEFAULT CURRENT_TIMESTAMP()
错误:
<块引用>无效的列默认表达式 [CURRENT_TIMESTAMP()]
我可以寻求帮助以纠正此错误吗?谢谢
答案 0 :(得分:1)
创建或替换表 "DATABASE"."SCHEMA"."TABLE"("ID" INT, "PRESENT_TIME" TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP());
答案 1 :(得分:0)
给个小费。看到您努力将时间转换为 UTC 可能会有所帮助。您可以使用 sysdate() 获取 UTC 时间。