sql >> Base de Datos >  >> RDS >> Mysql

¿Qué son todos esos operadores SQL en Laravel?

Al igual que otros comentaristas han mencionado, esos son operadores bit a bit. Los operadores bit a bit de PHP están documentados aquí:http://php.net/manual/ es/language.operators.bitwise.php

Ejemplos

& es un bitwise AND operador.

10 y 10 =10 (todas las representaciones decimales). ¿Cómo? 10 es 1010 binario.

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

Tenga en cuenta que el resultado es 1 solo cuando tanto el número superior como el inferior en la misma columna son 1.

La forma de PHP de escribir eso:

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

¿Cuál es el uso práctico para ello? Tomemos un ejemplo:hay 4 juegos de puertas dobles. Ambas puertas tienen que abrirse al mismo tiempo para que pase una persona. La puerta abierta recibe el número 1. La puerta cerrada recibe el número 2.

1010 significa que la primera puerta está abierta, la segunda está cerrada, la tercera está abierta, la cuarta está cerrada. Cuando todas las puertas estén cerradas, se verían así:

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

Para permitir que alguien pase por la puerta más a la izquierda, las puertas deben ser así:

0001
0001

Eso está bien, pero hay una forma más rápida de anotar eso. Operador bit a bit &. Hacemos &entre ambas puertas y obtenemos un resultado de 1. Entonces, si los datos se almacenan como 1, sabemos que las puertas del extremo izquierdo estaban abiertas.

Para abrir la puerta más a la izquierda, la combinación tendría que ser:

1000
1000

El resultado del operador bit a bit es 8 decimal. Use la calculadora como la uno en miniwebtool para hacer algunos cálculos.

Por otro lado, como las puertas se abren y cierran todo el día, uno podría registrar cuándo ambas puertas de cualquiera de los 4 juegos de puertas estaban abiertas. Es solo una respuesta prolija a quizás una pregunta simple.