sql >> Databáze >  >> RDS >> Mysql

Dotaz na aktuální datum v čase mysql

Váš výraz ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate())) vrátí pouze část data ze dne minulého týdne, takže všechna data po začátku tohoto dne nejsou zahrnuta.

Máte několik možností, jak to vyřešit:

  1. Kolo vytvořenoK dnešnímu dni bez časové části:
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. Použít silnější méně podmínky s následujícím dnem:
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. Jak získat aktuální ID transakce databáze pomocí JDBC nebo Hibernate?

  2. Chyby oprávnění Mysql s „načíst data“

  3. Co je špatného na mém dotazu SQL Fiddle?

  4. Jak v oracle změním svou relaci tak, aby zobrazovala UTF8?