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

Funkcja MySQL MAX() do porównywania wartości liczbowych w aktualizacji?

MySQL obsługuje funkcję o nazwie GREATEST() . Zwraca największą wartość z listy swoich argumentów.

UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1

Nie jest to standardowa funkcja w ANSI SQL, więc nie licz na to, że będzie dostępna w bazach danych SQL innych marek. Jeśli potrzebujesz rozwiązania niezależnego od dostawcy, użyj CASE składnia sugerowana przez innych. Ale jeśli wszystko, czego potrzebujesz, to MySQL, ta funkcja jest bardziej zwięzła.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dostęp użytkownika MySQL — specyficzny dla tabeli

  2. zapytanie mysql, aby wybrać jeden konkretny wiersz i inny losowy wiersz

  3. mysqldump nie działa w crontab

  4. Jak zaktualizować, jeśli istnieje, wstawić, jeśli nie (AKA upsert lub merge) w MySQL?

  5. Dynamiczne konstruowanie kodu MySQL do tworzenia wyzwalacza