SQLのbetween A and B で、AとBに同じ日付を入力した場合、データが取得できないことがあった。
YYYYMMDD
の文字列型が同じ場合はデータが取得できる。
しかし、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";