BeginnerEngineerBlog
中の人
中の人

【laravel mysql】date型の年月日等でデータを検索する

公開: 2023-04-19 11:17
更新: 2023-04-20 22:06
851
laravel mysql DATE_FORMAT queryBuilder
メモ

こんにちは!

中の人です

こちらでoracleで年月日でデータを取得する内容を書きましたが、普段よく使うmysqlだとどうやるんだと気になって試したのでメモとして紹介します。

mysqlのdate型等から

  • 2020年のデータを取得したい
  • 4月のデータを取得したい(年日は関係ない)
  • 1日のデータを取得したい(年月は関係ない)

のような感じでデータを検索する方法です。

やり方


        $result = Article::query()
            ->whereRaw("DATE_FORMAT(released_at, '%Y') = ?", ['2023'])
            ->get();


月の場合は '%Y' => '%m'
日の場合は '%Y => '%d'

oracleと同様いろんな条件で検索することができるみたいです。
ほー(゚∀゚ )

ちなみに


timestamp型とdatetime型どちらも試しましたがどちらも同じでした。

またoracleではエラーとなったこちらの書き方

        $result = Article::query()
            ->whereRaw("DATE_FORMAT(released_at, '%m') = :m", ['m' => '04'])
            ->get();

こちらも正常に動きました。(まぁそりゃそうか)


終わりに


おつー
0
0
0
0
通信エラーが発生しました。
【広告】
似たような記事