sql >> Databáze >  >> RDS >> Mysql

Mysql, kde 1=0 záměna

To závisí na typu booleovských operací, na kterých pracujete. Pokud chcete přidat proměnný počet AND příkazy, pak použijete příkaz, který se vždy vyhodnotí jako pravdivý, například 1 = 1 . Na druhou stranu, pokud chcete udělat totéž s OR příkazy, pak byste měli použít příkaz, který se vyhodnotí jako nepravda, například 1 = 0 .

Řekněme, že máte booleovskou proměnnou x s neurčitou pravdivostní hodnotou (může to být pravda, nebo může být nepravda. Nevíte.) Nyní, když najdete hodnotu x AND false , dostanete false , bez ohledu na to, jakou hodnotu má x je.

Na druhou stranu, když se podíváte na x OR true , dostanete true . Opět je to bez ohledu na pravdivostní hodnotu x .

Ve vašem příkazu chcete, aby pevně zakódovaná hodnota neměla žádný vliv na logiku dotazu. Protože false OR a OR b OR c je logicky ekvivalentní a OR b OR c , pevně zakódovaný příkaz nemá žádný účinek. V druhém případě true AND a AND b AND c je ekvivalentní a AND b AND c .



  1. Alternativní řešení DCount a DLookup s MS SQL Server Backend

  2. MySQL Problém s párováním více zájmů

  3. Získejte první a poslední datum příštího měsíce v MySQL

  4. Yii2:nelze aktualizovat hodnotu sloupce o + 1