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

MYSQL:Как мога да намеря „дата от миналия понеделник“ (проблем с производителността)

Ако не използвате древен MySQL, можете да го увиете в съхранена функция.

CREATE FUNCTION `LastMonday`() RETURNS DATETIME    
  RETURN DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) ;

и след това се обадете

select LastMonday() as LastMonday

Актуализация:

Ако имате проблеми с производителността, можете да запазите стойността в променлива на сесията. По този начин можете да сте сигурни, че ще бъде изчислен само веднъж.

set @LastMonday=LastMonday();
select @Lastmonday; 

(в тази проста заявка няма разлика, разбира се...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извличането на PDO връща само първия ред

  2. Качване на изображение в MySQL база данни blob в codeigniter

  3. Сортиране на многоизмерен масив по дадени индекси - PHP?

  4. UTF-8:Генерал? Кошче? Unicode?

  5. Най-добри практики на mysqldump:Част 2 – Ръководство за миграции