2017-10-05 613 views

回答

3

你需要投中适用的格式,无论是Teradata的风格:

WHERE CAST(str AS DATE FORMAT 'dd.mm.yyyy') 
BETWEEN DATE '2015-06-01' AND DATE '2017-12-31' 

或Oracle风格:

WHERE TO_DATE(str, 'dd.mm.yyyy') 
BETWEEN DATE '2015-06-01' AND DATE '2017-12-31' 

顺便说一下,我在字符串前添加了DATE,这是推荐的(并且总是可靠的)写日期文字的方法。

0

您可以

SELECT * from TABLE 
WHERE convert(datetime,DateField,104) between '2015-06-01' and '2017-12-31' 
+2

'convert'是专有的SQL Server的语法。 – dnoeth

+0

Teradata不识别'convert'。 – zarruq