SQLite, MySQL, PHP: Ternary operator (IF() statement) in MySQL and SQLite SQLite, MySQL, PHP: ternární operátor (IF (), výpis z účtu) v MySQL a SQLite
Posted on 03. Publikované dňa 03. Feb, 2010 by Dragos in Coding , MySQL , PHP , SQLite Február, 2010 Dragos v Kódovanie, MySQL, PHP, SQLite
While working on a proxy checker tool for one of my projects, I was struggling on how to execute a conditional query on my SQLite database to update a column only if its value is greater than 0 (it would be pointless in my case to let the script update the column with negative values). Pri práci na proxy checker nástroj pre jeden z mojich projektov, Bojoval som o tom, ako vykonávať podmienečný dotaz na môj SQLite databázu aktualizovať stĺpec iba vtedy, ak je jeho hodnota vyššia ako 0 (že by bolo zbytočné, v mojom prípade nechať skript aktualizovať stĺpec s záporných hodnôt).
In Mysql one would do like this (we use the ternary operator IF(to_check_expression>0,expression1,expression2) ): MySQL jeden by sa to takto (používame ternární operátor IF (to_check_expression> 0, expression1, expression2)):
update table_name set column_name=IF((column_name-1)>0,(column_name-1),0)
However, in SQLite this method will not work. Však bude v SQLite táto metóda nebude fungovať. Instead I had to use the case when (condition) then expression1 else expression2 end method. Namiesto toho som musel použiť v prípade, keď (podmienka), potom expression1 else expression2 konci metódy.
The above query in MySQL can be rewritten like this in SQLite: Výška dotazu v MySQL môže byť prepísaná ako je táto v SQLite:
update table_name set column_name=case when (column_name-1)>0 then (column_name-1) else 0 end
That's it. To je ono. I hope it helps someone! Dúfam, že to niekomu pomôže!
Related posts: Súvisiace príspevky:












































