current_timestamp红移

问题描述

当我从redshift中选择current_timestamp时,我得到的是值列表,而不是一个值。

这是我的SQL查询

select current_timestamp 
from stg.table;

有人知道为什么我得到一个值列表而不是一个值吗?

解决方法

这是您的查询:

select current_timestamp from stg.table

这将产生与表stg.table中的行一样多的行(因为这是from子句),并且只有一列,每行始终包含当前日期/时间。另一方面,如果表不包含任何行,则查询不返回任何行。

如果只需要一行,请使用不带from子句的标量子查询:

select current_timestamp as my_timestamp
,

您将在stg.table中的每一行收到一行。根据RedShift文档,您应该改用GETDATE()或SYSDATE()。也许您想要,例如:

select GETDATE() as my_timestamp