如何在Teradata中为日期使用“ Between”运算符?

时间:2019-08-31 16:31:48

标签: teradata

我想通过在两个日期之间使用'between'限制检索到的行。

我使用的“销售日期”列包含以下信息

SALEDATE DATE FORMAT 'YYYY-MM-DD' NOT NULL

我使用的代码:

SELECT *
FROM trnsact
WHERE saledate BETWEEN '2005-01-01' AND '2005-06-30';

然后我得到一个错误'错误代码-3535 错误消息-[Teradata数据库] [TeraJDBC 15.10.00.09] [错误3535] [SQLState 22003] 字符串转换为数值失败。'

我也尝试过DATE:

SELECT *
FROM trnsact
WHERE saledate BETWEEN DATE '2005-01-01' AND DATE '2005-06-30';

但最终会出现另一个错误     错误消息-[Teradata数据库] [TeraJDBC 15.10.00.09] [错误3706] [SQLState 42000]语法错误:无效的DATE文字。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您需要使用DATE文字:

SELECT *
FROM trnsact
WHERE saledate BETWEEN DATE '2005-01-01' AND DATE '2005-06-31';

答案 1 :(得分:0)

试试下面的teradata查询。不过为时已晚。

SELECT *
FROM trnsact
WHERE saledate BETWEEN 
    to_date('2005-01-01','YYYY-MM-DD') AND 
    to_date('2005-06-30','YYYY-MM-DD') ;