Преобразование шестнадцатеричного значения в двоичное в Google BigQuery - PullRequest
0 голосов
/ 13 января 2020

Как преобразовать шестнадцатеричное значение в двоичное в Google BigQuery. Пример от D3 до 11001011.

1 Ответ

1 голос
/ 13 января 2020

В BigQuery для этого нет встроенной функции. Вы можете создать свою собственную функцию для этого. Следующий код, например, создает функцию, которая преобразует действительный шестнадцатеричный STRING в двоичный STRING:

CREATE TEMP FUNCTION hex_to_binary(x STRING) AS
(
  REPLACE(REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(x, '0','0000'), '1','0001'),'2','0010'),'3','0011'),'4','0100'),'5','0101'),'6','0110'),'7','0111'),'8','1000'),'9','1001'),'A','1010'),'B','1011'),'C','1100'),'D','1101'),'E','1110'),'F','1111')
);


SELECT hex_to_binary('1EF01D5')

Это всего лишь пример жесткого кода того, как это сделать. Нет обработки исключений, чтобы проверить, является ли ввод шестнадцатеричной строкой. Вы можете использовать ее в качестве основы для улучшений, чтобы достичь именно той функции, которую вы хотите. Вы можете узнать больше о UDF в BigQuery здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...