sql >> Database teknologi >  >> RDS >> Mysql

Mysql hvor 1 =0 forvirring

Dette afhænger af den type booleske operationer, du arbejder på. Hvis du vil tilføje et variabelt antal AND udsagn, så bruger du et udsagn, der uvægerligt evalueres til sandt, såsom 1 = 1 . På den anden side, hvis du vil gøre det samme med OR sætninger, så skal du bruge en sætning, der evalueres til falsk, såsom 1 = 0 .

Lad os sige, at du har en boolesk variabel x med en ubestemt sandhedsværdi (den kan være sand, eller den kan være falsk. Du ved det ikke.) Hvis du nu finder værdien af ​​x AND false , får du false , uanset hvad værdien af ​​x er er.

På den anden side, hvis du ser på x OR true , får du true . Igen, dette er uanset sandhedsværdien af ​​x .

I din erklæring ønsker du, at den hårdkodede værdi ikke skal have nogen indflydelse på logikken i forespørgslen. Siden false OR a OR b OR c er logisk ækvivalent med a OR b OR c , har den hårdkodede erklæring ingen effekt. I det andet tilfælde true AND a AND b AND c svarer til a AND b AND c .



  1. spring tabeller over, når du kører Doctrine convert-mapping

  2. Sådan henvises til JSON-nøgler, der indeholder specielle tegn, når du bruger OPENJSON, JSON_QUERY og JSON_VALUE (SQL-server)

  3. Oprettelse af MySQL View ved hjælp af UNION

  4. Hvordan beregner man forholdet ved hjælp af sql-forespørgsel?