Redshift中的Isdate函数

时间:2018-07-29 06:39:31

标签: amazon-redshift user-defined-functions

在redshift中是否有可用的isdate函数。我想将变量或列传递给函数,并找出该变量或列的值是否为日期。如果有可用的Udf,请进行更新。

1 个答案:

答案 0 :(得分:0)

好吧,如果列的类型为DATE,则它是一个日期(但可以是null)。

因此,其他任何类型的列都不是DATE

但是,您可以转换类型,例如使用VARCHAR并尝试将其转换为日期(例如other_column::DATE)。如果不起作用,我认为它应该是null(但请对其进行测试)。

更新

您可以在MAXERROR命令中使用COPY来告诉Redshift即使出现错误也要继续加载行。这些行将被跳过,但是您可以查看STL_LOAD_ERRORS - Amazon Redshift来查看错误。

如果您不想跳过这些行,则需要将日期加载到VARCHAR字段中(这不会导致错误),稍后您需要将VARCHAR转换为DATE。首选的方法是使用列转换将现有表复制到新表(SELECT INTO...)中。 (在Redshift中执行UDPATE效率很低,因为它会导致行被删除并重新插入。)