SQLのbetween A and B で、AとBに同じ日付を入力した場合、データが取得できないことがありました。
YYYYMMDD
が文字列型の場合、同日をAとBに入力してもデータが取得できます。
しかし、YYYYMMDD hh:mm:ss
の日時型に対して、YYYYMMDD
という形でAとBに同じ値を入力すると同日データが取得できないようです。
下記の例だと、2023/04/12にデータがあったとしても、targetDataは取得できません。
SELECT targetData
FROM test
WHERE date BETWEEN "20230412" AND "20230412";
解決策
dateに時間も加えて、00:00:00から23:59:59までを判定するようにすれば取得できます。
SELECT targetData
FROM test
WHERE date BETWEEN "20230412 00:00:00" AND "20230412 23:59:59";