aws iot sql question

0

Is there a way to change the hexadecimal number of mqtt payload to decimal in aws iot sql? For example) 07e7 -> 2023, 08 -> 08, 19 -> 25, 13a5 -> 5029, 0064 -> 100 The byte is fixed, and I want to change the hexadecimal number to decimal according to the byte.

feita há 10 meses219 visualizações
2 Respostas
0

Yes, it is possible to convert hexadecimal numbers to decimal in AWS IoT SQL. Here is one way to do it:

Use the CAST function to convert the hexadecimal string to a BIGINT. This will interpret the hex string as a base 16 number and convert it to a decimal integer.

For example:

SELECT CAST('07e7' AS BIGINT) AS decimal_value

Would output:

decimal_value 2023

The CAST function handles strings of different lengths, so you can convert 1 byte hex values like '08' up to 8 byte values like '13a5'.

Some examples:

SELECT CAST('08' AS BIGINT) AS decimal_value

Would output:

decimal_value
8

SELECT CAST('19' AS BIGINT) AS decimal_value

Would output:

decimal_value 25

SELECT CAST('13a5' AS BIGINT) AS decimal_value

Would output:

decimal_value 5029

profile pictureAWS
respondido há 10 meses
  • Thank you. But error.....

    SqlParseException Unknown data type 'BIGINT' BIGINT) AS decimal_value ---------------------^ at 1:22

0

This conversion from HEX to Decimal didnt work for us. It's not listed in the documentation either, https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-cast

Are you sure it should work?

Dave
respondido há 3 meses

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas