有没有办法从 Kusto 中的十六进制转换?我看到一个标量函数要转换为十六进制,但我想从十六进制转换。
https://docs.microsoft.com/en-us/azure/kusto/query/tohexfunction
有没有办法从 Kusto 中的十六进制转换?我看到一个标量函数要转换为十六进制,但我想从十六进制转换。
https://docs.microsoft.com/en-us/azure/kusto/query/tohexfunction
(如果将来有人发现此问题,请发布到旧线程。)
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]
您可以将十六进制值用于长文字,例如:
打印长(0x123)
在此处查看更多信息:https ://docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types/long