我正在尝试从Forefront防火墙日志查询IP地址,而且我有点卡在IP格式
C0A8E008-FFFF-0000-0000-000000000000
任何人都可以给我的MSSQL命令把它变成标准的人类可redable?
更新,我现在看到,我kust需要将前八个字符转换为十进制….然后我可以转换为IP。 诀窍是用SQLparsing这些字段中的第一个字符
您可以使用子string函数来获取IP地址的四个八位位组。 你可以做:
SELECT hex_to_dec(substring(field, 1, 2)) + '.' + hex_to_dec(substring(field, 3, 2)) + '.' + hex_to_dec(substring(field, 5, 2)) + '.' + hex_to_dec(substring(field, 7, 2)) <FROM, WHERE ...>
我不确定MSSQL是否有一个hex到十进制转换的hex_to_sec 。 你只需要find一个合适的方式来实现它。
我不知道如何在MSSQL中做到这一点,但给你一个方法的想法,在你上面的例子C0A8E008是192.168.224.08。 将C0A8E008拆分成4个2位hex块并将其转换为十进制。