кодесурса
«MYSQL

MySQL Операторы левого и правого сдвига

script1adsense2code
script1adsense3code

Оператор левого сдвига

Оператор сдвига MySQL влево возвращает 64-разрядное целое число без знака. Возвращаемое значение будет равно нулю, если число сдвигов больше или равно ширине 64-разрядного числа без знака. Он сдвигает номер BIGINT влево.

Синтаксис:

<<

Пример: оператор MySQL Left Shift

Следующая инструкция MySQL вернет целое число без знака для чисел, указанных в аргументе.

SELECT 2 <<8;

Пример вывода:

 mysql> SELECT 2 << 8;
+ -------- +
| 2 << 8 |
+ -------- +
| 512 | 
+ -------- +
1 ряд в наборе (0,00 сек)

Оператор MySQL Right Shift

Оператор сдвига вправо MySQL возвращает 64-разрядное целое число без знака. Возвращаемое значение будет нулевым, если счетчик сдвига больше или равен ширине 64-разрядного числа без знака. Он сдвигает номер BIGINT вправо.

Синтаксис

>>

Пример: оператор MySQL Right Shift

Следующая инструкция MySQL вернет целое число без знака для чисел, указанных в аргументе.

SELECT  2 >>8;

Пример вывода:

 mysql> SELECT 2 >> 8;
+ -------- +
| 2 >> 8 |
+ -------- +
| 0 | 
+ -------- +
1 ряд в наборе (0,00 сек)

Извлечение октетов из 32-разрядных беззнаковых сохраненных IP-адресов

Если вы храните свои ip-адреса как 32-разрядное целое число без знака с помощью функции INET_ATON (), вы можете использовать побитовые операторы для возврата IP-адреса из его числового значения. Вот запрос:

 mysql> SELECT * FROM ipdata;
+ ------------ +
| IPaddress |
+ ------------ +
| 2130706433 |
| 2921711528 |
| 3056763172 |
+ ------------ +
3 ряда в наборе (0,00 сек)
mysql> SELECT ipaddress, (ipaddress >> 24) в качестве FirstOctet, 
(ipaddress >> 16 << 16) - (ipaddress >> 24 << 24) >> 16 как SecondOctet, 
(ipaddress >> 8 << 8) - (ipaddress >> 16 << 16) >> 8 как ThirdOctet, 
ipaddress- (ipaddress >> 8 << 8) как FourthOctet 
ОТ ИПДАТЫ;
+ ------------ + ------------ + ------------- + --------- --- + ------------- +
| IPaddress | FirstOctet | SecondOctet | ThirdOctet | Четвертый октет |
+ ------------ + ------------ + ------------- + --------- --- + ------------- +
| 2130706433 | 127 | 0 | 0 | 1 |
| 2921711528 | 174 | 37 | 199 | 168 |
| 3056763172 | 182 | 50 | 129 | 36 |
+ ------------ + ------------ + ------------- + --------- --- + ------------- +
3 ряда в наборе (0,02 сек)

Примечание. Вы можете использовать функции INET_NTOA () для получения того же результата.

Предыдущий: BITWISE XOR
Далее: Функции полнотекстового поиска MySQL

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code