日付の範囲指定、月指定など - GoのSquirrelでの方法も紹介【MySQL】
日付の範囲を指定したり、7月だけといったように指定する方法を紹介します。
日付の範囲
// min ~ max WHERE <カラム名> BETWEEN min AND max // min ~ maxではない範囲 WHERE <カラム名> NOT BETWEEN min AND max
年、月、日の指定
// 年月日の指定 WHERE DATE_FORMAT(<カラム名>, %Y%m%d) = '20190714' // 年月の指定 WHERE DATE_FORMAT(<カラム名>, %Y%m) = '201907' // 年の指定 WHERE DATE_FORMAT(<カラム名>, %Y) = '2019' // 月日の指定 WHERE DATE_FORMAT(<カラム名>, %m%d) = '0714' // 月の指定 WHERE DATE_FORMAT(<カラム名>, %m) = '07' // 日の指定 WHERE DATE_FORMAT(<カラム名>, %d) = '14'
なお、Go言語でsquirrelというSQLビルダーがありますが、年の変数と月の変数などを連結して対象を指定する場合には、事前に連結した変数を定義し、それを使用する必要があります。
ym := year + month q = sq.Select( "id", "date", "customer_name", ). From("bookings"). Where(sq.Eq{"DATE_FORMAT(date, '%Y%m')": ym})