Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak użyć wartości ciągu/kolumny jako stałej interwału daty mysql (DZIEŃ, MIESIĄC...)?

Niestety MySQL oczekuje słowa kluczowego po INTERVAL, a nie żadnego ciągu lub wartości liczbowej. Możesz osiągnąć to, co chcesz, używając instrukcji CASE i podając różne przypadki za pomocą różnych słów kluczowych.

Jako przykład, powiedzmy, że chcesz dodać wartość z odpowiednią jednostką do daty, wtedy instrukcja SQL będzie wyglądać następująco:

SELECT CASE unit
       WHEN "DAY" THEN date_add(date, INTERVAL value DAY)
       WHEN "MONTH" THEN date_add(date, INTERVAL value MONTH)
       END
       AS newDate
FROM table

Nawiasem mówiąc, działa również w klauzuli WHERE :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alternatywy MySQL Workbench — GUI typu „wskaż i kliknij” ClusterControl

  2. MySQL wyświetla wszystkie daty w zakresie

  3. kod php do testowania pdo jest dostępny?

  4. Dwie wstawki w PHP/MySQL przy użyciu LAST_INSERT_ID() i wierszy z innej tabeli

  5. Gdzie używać mysql_real_escape_string, aby zapobiec wstrzykiwaniu SQL?