比如说 cast(PURCHASE_DATE as date) > '2020-01-01' 与。 PURCHASE_DATE > cast('2020-01-01' as date format) 关于上述问题,我有几个问题:我在我的应用程序上测试了这些,结果都是一样的。有没有一个方案会失败?这两个表达式在资源使用方面有何不同?铸造一个列是否铸造了它想要比较的所有值,而不是将不等式的右侧铸造一次,以便与该列中的所有值进行比较?
cast(PURCHASE_DATE as date) > '2020-01-01'
PURCHASE_DATE > cast('2020-01-01' as date format)
omvjsjqw1#
如果您使用purchase\u date作为datetime类型column,那么您可以使用cast(columas date),这样您就可以更好地使用column类型,并且可能在可伸缩性方面。另一种方法是只硬编码日期变量,而不使用数据类型的优点,如更改时区(如果使用)。请参阅:11.2.2日期、日期时间和时间戳类型
e7arh2l62#
顺便说一句,你不需要设定日期,因为你是这样使用的:
WHERE PURCHASE_DATE > '2020-01-01'
或者,对于数字:
WHERE PURCHASE_ID > '0001000'
teradata允许很多隐式转换。
2条答案
按热度按时间omvjsjqw1#
如果您使用purchase\u date作为datetime类型column,那么您可以使用cast(columas date),这样您就可以更好地使用column类型,并且可能在可伸缩性方面。另一种方法是只硬编码日期变量,而不使用数据类型的优点,如更改时区(如果使用)。请参阅:11.2.2日期、日期时间和时间戳类型
e7arh2l62#
顺便说一句,你不需要设定日期,因为你是这样使用的:
或者,对于数字:
teradata允许很多隐式转换。