1

有没有办法从 Kusto 中的十六进制转换?我看到一个标量函数要转换为十六进制,但我想从十六进制转换。

https://docs.microsoft.com/en-us/azure/kusto/query/tohexfunction

4

2 回答 2

1

(如果将来有人发现此问题,请发布到旧线程。)

let T = datatable(Value:string) [
'A2FF',
'BEAD',
'CAFE',
'FACE',
'C0C0'
];
T
| extend ValueExtracted = extract_all('(.)', reverse(Value))
| mv-expand ValueExtracted
| serialize 
| extend ValueIndex = indexof('0123456789ABCDEF', ValueExtracted, 0)
| extend ValuePow = row_number(0, prev(Value) != Value)
| extend ValueDig = pow(16, ValuePow) * ValueIndex 
| summarize ValueComplete = sum(ValueDig) by Value 
| extend ToHexCalc = tohex(toint(ValueComplete))

当然它并不漂亮,但它似乎至少适用于这个数据集。我同意一个 inbuit 函数会好得多。

输出:

[Value, ValueComplete, ToHexCalc
A2FF, 41727, a2ff
BEAD, 48813, bead
CAFE, 51966, cafe
FACE, 64206, face
C0C0, 49344, c0c0][1]
于 2019-07-08T22:07:54.657 回答
1

您可以将十六进制值用于长文字,例如:

打印长(0x123)

在此处查看更多信息:https ://docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types/long

于 2019-05-21T14:44:33.497 回答