2016-08-30 8 views
0

私はAmazon Redshiftを使用しています。私のテーブルでは、私は今、私が間時間(一日に二つの日付を比較したい日付と時間を一緒に比較

requestdate requesthour 
2016-10-10  1 
2016-10-10  2 
...   ... 

のような値を持つ他の列と一緒に2列(日付と時間)を、持っている2016-10-1005 & & 2016-11- 1109)。一般にqyeryと比較すると、

Where date>=xxxx && date<=yyyy && hour>=hhhh && hour<hhhh 

が不完全な結果になります。ここで便利なことをすることはできますか?concat、to_timestampのようなWebを検索した後で特定のことを試しましたが、適切なクエリを思いつくことができませんでした。

誰でも助けてもらえますか?ここで

+0

どのデータ型が 'requestdate'ですか? –

答えて

1

は1つの明示的な方法である:

where (date > xxxx or (date = xxxx and hour >= hhhh)) and 
     (date < yyyy or (date = yyyy and hour < hhhh)) 

もう一つの方法は、日付計算を使用します。

where date + hour * interval '1 hour' >= xxxx + hhhh * interval '1 hour' and 
     date + hour * interval '1 hour' < yyyy + hhhh * interval '1 hour' 
+0

ありがとうゴードン、私の質問に答えるために私の日に素晴らしいスタート:) –

0

あなたは彼らに

select (requestdate ||' '|| requesthour ||':00:00')::timestamp between ('2016-10-10 05:00:00')::timestamp and ('2016-08-01 04:00:00')::timestamp from bbt 
を比較するために、データベースをタイムスタンプとさせるためにあなたの日付+時間をキャストすることができます
関連する問題