MySQL での DATETIME から DATE への変換
データベースを操作する場合、多くの場合、レコードを日付でグループ化する必要があります。ただし、データベースが DATE 値ではなく DATETIME 値のみを保存する場合、これらの操作を実行するときに問題に直面する可能性があります。
これを解決するために、MySQL は DATETIME 値を変更できるいくつかの関数を提供します。このような関数の 1 つは DATE() で、これは DATETIME 引数を受け取り、時刻を除いた日付部分のみを返します。これは、日付に基づいてレコードをグループ化する場合に非常に役立ちます。
たとえば、次のクエリを考えてみます。
select * from follow_queue group by follow_date cast follow_date as date
このクエリは、follow_date 列によってレコードをグループ化します。ただし、follow_date には DATETIME 値が含まれるため、日付部分のみを抽出するには DATE にキャストする必要があります。これは、クエリに示されているように、CAST() 関数を使用して行われます。
ただし、問題ステートメントで指定されたクエリは無効であることに注意することが重要です。望ましい結果を得るには、構文を次のように修正する必要があります。
select * from follow_queue group by DATE(follow_date)
このクエリは、DATE() 関数を直接使用して、follow_date 列から日付部分を抽出します。 DATE() 関数は、グループ化操作に使用できる DATE 値を返します。この関数を使用すると、データベースに DATETIME 値しか格納されていない場合でも、レコードを日付でグループ化するという望ましい結果を得ることができます。
以上がDATETIME 値のみが存在する場合、MySQL でレコードを日付でグループ化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。