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.

asked 6 months ago127 views
1 Answer
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
answered 6 months ago
  • Thank you. But error.....

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

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions