java プログラミング

java.time.DayOfWeekでmysqlに曜日検索かけるとハマった

更新日:

AmberAvalona / Pixabay

こんにちは、javaでの曜日検索でハマったので解決策のご紹介です。

環境

Java8
MySQL5.6.38

 

現象

java.time.DayOfWeekを使ってmysqlの日付型のデータを検索かけに行くとうまく取得できない。
土曜、日曜で検索かけると、なぜか土曜のデータしか取得できなくてハマる。

 

原因

DayOfWeek::getValueで取得できるcodeの番号と、mysqlのdayofweek関数の戻り値の番号がずれていました。

weekday関数と、DayOfWeek::ordinalを使用すれば順番が合うのでそのように修正します。

 

dayofweek(date)の実行結果

weekday(date)の実行結果

 

修正は下記で、date型のデータからの曜日検索がうまくいきました。

 

-java, プログラミング
-,

Copyright© , 2024 All Rights Reserved Powered by STINGER.