Mysql
 sql >> база данни >  >> RDS >> Mysql

Запитване за текуща дата във време mysql

Вашият израз ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate())) връща само част от датата от деня от миналата седмица, така че всички данни след началото на този ден не са включени.

Имате няколко опции за решаване на това:

  1. Кръг, създаден до дата без част от времето:
SELECT *
FROM your_table
WHERE DATE(createdAt) BETWEEN 
    SUBDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), WEEKDAY(curdate())) AND
    ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate()));
  1. Използвайте силно по-малко състояние със следващия ден:
SELECT *
FROM your_table
WHERE 
    createdAt >= SUBDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), WEEKDAY(curdate())) AND
    createdAt < ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 7-WEEKDAY(curdate()));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте таблица с имена на колони, получени от стойности на редове на друга таблица

  2. намиране на продукти, които клиентите купуват заедно

  3. mysql присъединете ON и AND към laravel eloquent

  4. Как мога да спра MySQL заявка, ако отнема твърде много време?

  5. MySQL DATEDIFF() срещу TIMESTAMPDIFF():Каква е разликата?