我正在尝试检查日期,但在运行下面的查询后,它没有显示任何结果。有人可以推荐我正确的语法吗?
SELECT TOP 10 * FROM MY_DATABASE.AGREEMENT
WHERE end_dt=12/31/9999
答案 0 :(得分:3)
12/31/9999 可能看起来像是您的日期,但对于数据库来说,它是一个计算:
12除以31除以9999 ,因为这涉及INTEGER除法,这导致INTEGER 0
所以最后你将DATE与INT进行比较,这导致将DATE类型转换为INT。
在Teradata中编写日期文字的唯一可靠方法是 DATE ,后跟带有 YYYY-MM-DD 格式的字符串:
DATE' 9999-12-31'
类似于 TIME&#39; 12:34:56.1&#39; 和 TIMESTAMP&#39; 2014-08-20 12:34:56.1&#39; < /强>
答案 1 :(得分:1)
是日期栏吗?然后尝试where end_dt = '9999-12-31'
。
答案 2 :(得分:0)
你问的问题不是很清楚。您指定的日期取决于语言。
尝试
SELECT TOP 10 * FROM MY_DATABASE.AGREEMENT WHERE end_dt='99991231'