Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O que são todos aqueles operadores SQL no Laravel?


Assim como outros comentaristas mencionaram, esses são operadores bit a bit. Os operadores bit a bit do PHP estão documentados aqui:http://php.net/manual/ pt/language.operators.bitwise.php

Exemplos

& é um E bit a bit operador.

10 e 10 =10 (toda a representação decimal). Como? 10 é 1010 binário.
    1010
and 1010
--------
    1010

Observe que o resultado é 1 somente quando os números superior e inferior na mesma coluna são 1.

A maneira do PHP de escrever isso:
<?php
echo 10 & 10;
?>
Result: 10

Qual a utilidade prática disso? Vamos dar um exemplo:Existem 4 conjuntos de portas duplas. Ambas as portas têm que abrir ao mesmo tempo para uma pessoa passar. A porta aberta recebe o número 1. A porta fechada recebe o número 2.

1010 significa que a primeira porta está aberta, a segunda está fechada, a terceira está aberta, a quarta está fechada. Quando todas as portas estiverem fechadas, elas ficarão assim:
0000  <-- first set of doors
0000  <-- second set of doors

Para permitir que alguém passe pela porta mais à esquerda, as portas devem ser assim:
0001
0001

Tudo bem, mas há uma maneira mais rápida de anotar isso. Operador bit a bit &. Fazemos &entre as duas portas e obtemos um resultado de 1. Portanto, se os dados forem armazenados como 1, saberemos que as portas mais à esquerda estavam abertas.

Para abrir a porta mais à esquerda, a combinação teria que ser:
1000
1000

O resultado do operador bit a bit é decimal 8. Use a como a calculadora um no miniwebtool para executar um pouco de matemática.

Por outro lado, como as portas abrem e fecham o dia todo, pode-se registrar quando ambas as portas de qualquer um dos 4 conjuntos de portas estavam abertas. É apenas uma resposta prolixa para talvez uma pergunta simples.