CURRENT_TIMESTAMP 是 ANSI SQL 中的函数吗?
Is CURRENT_TIMESTAMP a function in ANSI SQL?
我在使用 bigquery 函数 current_timestamp()
时发现如果需要,可以不带括号使用它。因为它是一个函数,所以我主张使用括号,但我在互联网上找到的表明您确实可以在不同标准下使用它。
我发现在ANSI SQL 1992中确实是一个函数(based on this answer)。
但是我没有找到为什么允许在没有括号的情况下调用它,即使标准提倡使用括号?
Snowflake 表示它允许不带括号的调用符合 ANSI SQL...
那么有人知道它是什么吗?
非常感谢!
<current timestamp value function> ::=
CURRENT_TIMESTAMP [ <left paren> <timestamp precision> <right paren> ]
它是一个函数,(<precision>)
是可选的,所以以下是正确的:
SELECT CURRENT_TIMESTAMP;
SELECT CURRENT_TIMESTAMP(3);
根据该定义 SELECT CURRENT_TIMESTAMP()
不应该起作用,但通常会被实施。
我在使用 bigquery 函数 current_timestamp()
时发现如果需要,可以不带括号使用它。因为它是一个函数,所以我主张使用括号,但我在互联网上找到的表明您确实可以在不同标准下使用它。
我发现在ANSI SQL 1992中确实是一个函数(based on this answer)。 但是我没有找到为什么允许在没有括号的情况下调用它,即使标准提倡使用括号? Snowflake 表示它允许不带括号的调用符合 ANSI SQL...
那么有人知道它是什么吗?
非常感谢!
<current timestamp value function> ::= CURRENT_TIMESTAMP [ <left paren> <timestamp precision> <right paren> ]
它是一个函数,(<precision>)
是可选的,所以以下是正确的:
SELECT CURRENT_TIMESTAMP;
SELECT CURRENT_TIMESTAMP(3);
根据该定义 SELECT CURRENT_TIMESTAMP()
不应该起作用,但通常会被实施。