sql >> データベース >  >> RDS >> Mysql

PHP Select from MySQL(日付フィールドは7日先)

    おそらくexpiry_dateを定義しました 日時値として。これは、比較が正しくないことを意味します。例えば使用する必要があります

    SELECT ... WHERE date(expiry_date) = date(now() + interval 7 day)
    

    代わりに(date()の+7日のラッピングに注意してください 操作。

    例:

    日付と日時フィールドを持つテーブルがある場合:

    +------------+---------------------+
    | d          | dt                  |
    +------------+---------------------+
    | 2013-06-28 | 2013-06-28 08:23:03 |
    +------------+---------------------+
    

    比較がどのように行われるかに注目してください:

    mysql> select d=now(), d=date(now()), dt=now(), dt=date(now()), now() from x;
    +---------+---------------+----------+----------------+---------------------+
    | d=now() | d=date(now()) | dt=now() | dt=date(now()) | now()               |
    +---------+---------------+----------+----------------+---------------------+
    |       0 |             1 |        0 |              0 | 2013-06-28 08:26:20 |
    +---------+---------------+----------+----------------+---------------------+
    1 row in set (0.00 sec)
    

    日付v.s. datetime =false
    date v.s date =true
    datetime v.s. datetime =false(hh:mm:ssが一致しないため、等しくない)
    datetime v.s. date =false(dateはyyyy-mm-hh 00:00:00に展開され、hh:mm:ssは一致しません



    1. 関係代数

    2. SQL ServerでFORMAT()を使用するときに不変カルチャを指定する方法

    3. mysql-utilitiesから何も実行できません:mysql.utilities.common.toolsという名前のモジュールがありません

    4. MysqlのSQLスクリプトで条件付きの場合