webForumDet fria alternativet

& i wheresats gör vad?

Databaser & SQLur Databashanterare & SQL

6 svar · 272 visningar · startad av sabbacus

Medlem sedan juli 2002630 inlägg
Frågan#1

Tjipp. Sitter här och kliar mig lite varstans med speciellt på huvudet då jag inte riktigt har hajat den här queryn:

$query = "SELECT field_id, name FROM usr_field WHERE(lcid = 1053 AND flags & 4) ORDER BY name";

Vad gör &-tecknet i SQL (i denna querys where-sats)? Är det modulo eller vad?

Medlem sedan dec. 200012 464 inlägg
#2

Så där kan man inte använda & i SQL. Det är alltså något specifikt påhitt som fungerar på ett visst sätt i just ditt DBHS.

& används i SQL när man vill skriva namn med hjälp av hexkoder.

Medlem sedan juli 2002630 inlägg
#3

öhh.. jaha :)
Jag får nog ta ett snack med killen som skrivit den ursprunliga koden.
Tilläggas bör att queryn, hur udda den än må vara i sin nuvarande form fungerar i MySQL och MS SQL.

Jag återkommer med mer info när jag får tag på honom.

Medlem sedan dec. 200012 464 inlägg
#4

I de två nämnda fungerar & som bitwise and.

Medlem sedan juli 2002630 inlägg
#5

och vad innebär det? :-)

Medlem sedan dec. 200012 464 inlägg
#6

0000 0100 (= 4) &
0001 1100 (=28)
---------------
0000 0100

Värdena jämförs bit för bit och om båda har en bit satt så blir resultatbiten satt.

Medlem sedan juli 2002630 inlägg
#7

Nu är jag med.
Tackar så hjärtligt :)

139 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)