1週間(または多くの)1週間(7日)以降に作成されたすべての結果をmySQLで見つけるためのソリューションを探しています。
私はこれを試しましたが、週に複数の結果があるため、結果が間違っている場合があります。
SELECT *
FROM `datatable`
WHERE MOD(TIMESTAMPDIFF(DAY,UNIX_TIMESTAMP(created),NOW()),7)=0;
- created はタイムスタンプです。
返信ありがとうございます。
1週間(または多くの)1週間(7日)以降に作成されたすべての結果をmySQLで見つけるためのソリューションを探しています。
私はこれを試しましたが、週に複数の結果があるため、結果が間違っている場合があります。
SELECT *
FROM `datatable`
WHERE MOD(TIMESTAMPDIFF(DAY,UNIX_TIMESTAMP(created),NOW()),7)=0;
返信ありがとうございます。
これを試して:
SELECT
*
FROM
`datatable`
WHERE 1
AND `created` >= DATE_FORMAT(NOW() - INTERVAL 7 DAY,'%Y-%m-%d 00:00:00')
AND `created` <= DATE_FORMAT(NOW() - INTERVAL 7 DAY,'%Y-%m-%d 23:59:59')
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
引数なしで呼び出された場合、Unix タイムスタンプ ('1970-01-01 00:00:00' UTC からの秒数) を符号なし整数として返します。UNIX_TIMESTAMP() が日付引数で呼び出された場合、引数の値を '1970-01-01 00:00:00' UTC からの秒数として返します。日付は DATE 文字列、DATETIME 文字列、TIMESTAMP、またはYYMMDD または YYYYMMDD 形式の数値。サーバーは、日付を現在のタイム ゾーンの値として解釈し、UTC の内部値に変換します。クライアントは、 http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.htmlで説明されているようにタイム ゾーンを設定でき ます。
したがって、 function を使用しないUNIX_TIMESTAMP()
で、 simple DATE()
.