86170


例として、1月1日から１月2１日までの５時から9時３０分だけのデータを取得したい場合、どのようにWHEREをかけばよろしいでしょうか？  
以下のようにHourを指定するだけならとくに問題ないのですが、9時から9時半の時間帯をどのように取得するのかがわかりませんでした。Minutes(timestamp)
between 0 and 30としてしまうと5時などのデータまで影響をうけてしまいます。

[code]

    SELECT
    XXXX
    
    FROM
    YYYY
    
    WHERE 1=1
     AND date(timestamp) between date('2021-01-01') and date('2021-01-21')
     AND hour(timestamp) between 5 and 9
    
[/code]


CC BY-SA 4.0
2022-02-06T05:28:24.530
86169
2022-02-06T05:45:56.123
23420
question
sql
SQL 特定の日付における特定の時間帯のデータを取得する方法


>
[code]

>     WHERE 1=1
>      AND date(timestamp) between date('2021-01-01') and date('2021-01-21')
>      AND hour(timestamp) between 5 and 9
>  
[/code]

`date()`と同様に`time()`を使うだけではないでしょうか？

[code]

    WHERE 1=1
     AND date(timestamp) between '2021-01-01' and '2021-01-21'
     AND time(timestamp) between '05:00:00' and '09:30:00`
    
[/code]


CC BY-SA 4.0
2022-02-06T05:45:56.123
86170
2022-02-06T05:45:56.123
4236
86169
answer