Resumo : neste tutorial, você aprenderá como usar a BIT_XOR
função MySQL para realizar um XOR bit a bit nos valores de uma coluna de uma tabela.
Introdução à função MySQL BIT_XOR
A função é uma função agregada que executa uma operação bit a bit em valores em uma coluna de uma tabela.BIT_
XOR
()XOR
Aqui está a sintaxe da BIT_XOR()
função:
SELECT BIT_XOR(column_name)
FROM table_name;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Se column_name
não tiver valor, retornará BIT_XOR
um resultado onde todos os bits serão definidos como zero. Além disso, o resultado terá o mesmo número de bits que os valores de entrada.
O bit a bit XOR
pega strings de dois bits com o mesmo comprimento e executa uma operação lógica OR exclusiva em cada par de bits correspondentes. Ele retorna 1 se apenas um dos bits for 1 e 0 se ambos os bits forem 0 ou ambos os bits forem 1.
Por exemplo, o seguinte mostra como executar uma XOR
operação bit a bit nos valores de bit 0101 e 0011, que resulta em 0110.
0101 (decimal 5)
0011 (decimal 3)
0110 (decimal 6)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Exemplo de função MySQL BIT_XOR
Primeiro, crie uma nova tabela chamada devices
que armazena os sinalizadores de status binários para dispositivos eletrônicos:
CREATE TABLE devices (
device_id INT PRIMARY KEY,
status_flags INT
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta tabela, device_id
identifica exclusivamente cada dispositivo e status_flags
armazena os sinalizadores de status do dispositivo como valores binários.
Segundo, insira três linhas na devices
tabela:
INSERT INTO devices (device_id, status_flags)
VALUES
(1, 6), -- Binary: 0110
(2, 3), -- Binary: 0011
(3, 5); -- Binary: 0101
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Terceiro, encontre os sinalizadores de status exclusivos entre um grupo de dispositivos usando a BIT_XOR
função:
SELECT
BIT_XOR(status_flags) AS exclusive_flags
FROM
devices
WHERE
device_id IN (1, 2, 3);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-----------------+
| exclusive_flags |
+-----------------+
| 0 |
+-----------------+
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O resultado é zero, indicando que não há sinalizadores de status comuns entre os dispositivos. Em outras palavras, cada dispositivo tem seu status único.
Resumo
- Use
BIT_XOR()
a função MySQL para realizar uma operação XOR bit a bit nos valores de uma coluna de uma tabela.