0
2つの日付の差(dateStart、dateEnd)は、MySqlクエリの月〜金の平日のみにします。週末を除くMySqlの2つの日付を比較する方法(SAT、SUN)
SELECT * FROM TABLE_NAME
WHERE status = 'Updated'
AND
DATE_ADD(dateModified, INTERVAL 1 WEEK) >= NOW();
2つの日付の差(dateStart、dateEnd)は、MySqlクエリの月〜金の平日のみにします。週末を除くMySqlの2つの日付を比較する方法(SAT、SUN)
SELECT * FROM TABLE_NAME
WHERE status = 'Updated'
AND
DATE_ADD(dateModified, INTERVAL 1 WEEK) >= NOW();
SELECT *
FROM TABLE_NAME
WHERE status = 'Updated'
AND DATE_FORMAT(dateModified, '%w') IN (0, 6)
AND DATE_ADD(dateModified, INTERVAL 1 WEEK) >= NOW();
の詳細は Official MySQL documentationを参照してください:ここでは
2つの日付を比較し、一週間以上が経過した場合に生じる与え、私のクエリです。
次のように関数を作成します。次に
CREATE FUNCTION TOTAL_WEEKDAYS(date1 DATE, date2 DATE)
RETURNS INT
RETURN ABS(DATEDIFF(date2, date1)) + 1
- ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY),
ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY)))/7 * 2
- (DAYOFWEEK(IF(date1 < date2, date1, date2)) = 1)
- (DAYOFWEEK(IF(date1 > date2, date1, date2)) = 7);
このようなクエリ:魔法のように
SELECT * FROM TABLE_NAME WHERE status = 'Updated'
AND
TOTAL_WEEKDAYS(dateModified, NOW()) >=7;
作品!
あなたがここで何を求めているかはわかりません。私はあなたが実際に平日をどこでも比較しているのを見ません。サンプルデータと予想される出力を更新してください。 –
平日の比較は私の質問です@TimBiegeleisen。しかし私は解決策が私の機能を作り出すことを発見しました。 –