首页 > 解决方案 > sql teradata 过滤日期 - 数据库版本 Teradata 15.10.06.02 和提供程序版本 Teradata.Net 15.11.0.0

问题描述

我的表有一个日期列。它的数据类型是日期。我去确认了它,table name>>columns它说MTH_END_DT [DATE, Not NULL]

我想过滤特定日期的数据。如果我提出条件where MTH_END_DT = '6/1/2018',我会收到错误select failed [3535] A character string failed conversion to a numeric value.

我关注了这个页面。我用过where MTH_END_DT = date '6/1/2018',我得到一个错误syntax error invalid date literal

我试过where cast(timestamp_column as date) = date '2013-10-22';这样的东西,它也抛出错误

我应该如何过滤我的数据?

标签: sqldatefilterteradata

解决方案


只有一种可靠的方式来编写日期,使用日期文字date 'yyyy-mm-dd'

where MTH_END_DT = DATE '2018-06-01'

对于时间戳,它是

TIMESTAMP '2018-06-01 15:34:56'

和时间

TIME '15:34:56'

在 SQL 助手中,建议YYYY-MM-DD工具-选项-数据格式-以这种格式显示日期中切换到标准 SQL 格式


推荐阅读