sql >> Databasteknik >  >> RDS >> Mysql

MySQL MAX() funktion för att jämföra numeriska värden i en uppdatering?

MySQL stöder en funktion som heter GREATEST() . Den returnerar det största värdet bland en lista över dess argument.

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

Detta är inte en standardfunktion i ANSI SQL, så räkna inte med att den är tillgänglig i andra märken av SQL-databaser. Om du behöver en leverantörsoberoende lösning, använd CASE syntax som andra föreslagit. Men om allt du behöver använda är MySQL, är den här funktionen mer kortfattad.




  1. Hur MAKETIME() fungerar i MariaDB

  2. Hur man infogar värden i kolumnen för automatisk identitet i MYSQL

  3. Funktioner med variabelt antal ingångsparametrar

  4. Hur ansluter man till MS SQL Server med Inno Setup?