红移查询日期区间

19

我对Redshift SQL还很陌生。

    select *  from myredshift_tbl 
    where local_date between \'2016-01-01\' and \'2017-02-01\'; 

但是遇到了这个错误:

[amazon][500310] 无效操作 语法错误,位于 "\" 的附近。我相信 Redshift 使用单引号并且我需要转义单引号。


2
删除反斜杠... - Siyual
反斜杠是不必要的。请将它们删除。 - Gordon Linoff
如果您对答案感到满意,请考虑接受它。这将有助于其他发现此问题的用户。 - San
2个回答

38

如果 local_date 列是日期格式,请使用:

select *  from myredshift_tbl 
    where local_date between '2016-01-01' and '2017-02-01';
如果列 local_date 是时间戳:
select *  from myredshift_tbl 
        where local_date between '2016-01-01 00:00:00' and '2017-02-01 23:59:59';

如果将下限和上限颠倒,会发生什么? - jbuddy_13

5
SELECT * FROM schemaName.TableName WHERE datetime > '2017-02-09 
00:00:00' AND datetime < '2017-06-09 00:00:00';

上面的查询适用于Redshift,以获取表中的所有条目。

注意: 我应用查询的表有一个名为'datetime',类型为'timestamp'的列/字段。

我在使用Workbench J帮助下,在Redshift上测试了此查询。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接