Sql 什么是“应用”:日期“;红移?
我在Amazon redshift的sql代码中看到,在比较两个日期时使用::date。我想知道这三行代码之间有什么区别:Sql 什么是“应用”:日期“;红移?,sql,amazon-redshift,Sql,Amazon Redshift,我在Amazon redshift的sql代码中看到,在比较两个日期时使用::date。我想知道这三行代码之间有什么区别: start_date < '2016-01-01' start_date < '2016-01-01'::date start_date < date('2016-01-01') 开始日期
start_date < '2016-01-01'
start_date < '2016-01-01'::date
start_date < date('2016-01-01')
开始日期<'2016-01-01'
开始日期<'2016-01-01':日期
开始日期<日期('2016-01-01')
这三种情况的结果都是一样的
具体而言:
正在尝试将start\u date<'2016-01-01'
与date
进行比较,但Amazon Redshift足够聪明,可以将varchar
转换为日期格式,以便进行比较varchar
正在对两个start_date<'2016-01-01':date
字段进行适当的比较。这相当于日期“2016-01-01”date
似乎也在比较start\u date
字段,尽管文档中没有这种语法date
:date
的一个更有用的示例是在比较两个时间戳时,您只希望比较日期,例如:
select end::date - start::date as days FROM table