Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quels sont tous ces opérateurs SQL dans Laravel ?

Tout comme d'autres commentateurs l'ont mentionné, ce sont des opérateurs au niveau du bit. Les opérateurs bit à bit de PHP sont documentés ici :http://php.net/manual/ fr/language.operators.bitwise.php

Exemples

& est un ET binaire opérateur.

10 &10 =10 (toute représentation décimale). Comment? 10 est 1010 binaire.

    1010
and 1010
--------
    1010

Notez que le résultat est 1 uniquement lorsque les nombres supérieur et inférieur dans la même colonne sont 1.

La manière de PHP d'écrire cela :

<?php
echo 10 & 10;
?>
Result: 10

Quelle en est l'utilité pratique ? Prenons un exemple :Il y a 4 ensembles de doubles portes. Les deux portes doivent s'ouvrir en même temps pour qu'une personne puisse passer. La porte ouverte porte le numéro 1. La porte fermée porte le numéro 2.

1010 signifie que la première porte est ouverte, la deuxième est fermée, la troisième est ouverte, la quatrième est fermée. Lorsque toutes les portes sont fermées, elles ressemblent à ceci :

0000  <-- first set of doors
0000  <-- second set of doors

Pour permettre à quelqu'un de passer par la porte la plus à gauche, les portes doivent ressembler à ceci :

0001
0001

C'est très bien, mais il existe un moyen plus rapide d'annoter cela. Opérateur au niveau du bit &. Nous faisons &entre les deux portes et obtenons un résultat de 1. Ainsi, si les données sont stockées sous la forme 1, nous savons que les portes les plus à gauche étaient ouvertes.

Pour ouvrir la porte la plus à gauche, la combinaison devrait être :

1000
1000

Le résultat de l'opérateur au niveau du bit est décimal 8. Utilisez calculatrice comme le un sur miniwebtool pour faire des calculs.

D'un autre côté, comme les portes s'ouvrent et se ferment toute la journée, on pouvait enregistrer quand les deux portes de l'un des 4 ensembles de portes étaient ouvertes. C'est juste une réponse interminable à une question peut-être simple.