我的表中有一个名为 IPAddress 的列。我想按排序顺序获取 IPAddress。
IP地址: 8.123.10.124 192.23.34.45
如果我使用按 IPAddress 排序,我将得到输出
192.23.34.45 8.123.10.124
因为按字符串排序。
但我希望输出为
8.123.10.124 192.23.34.45
如何编写相同的查询。有什么方法可以在 HSQL 中拆分字符串
我的表中有一个名为 IPAddress 的列。我想按排序顺序获取 IPAddress。
IP地址: 8.123.10.124 192.23.34.45
如果我使用按 IPAddress 排序,我将得到输出
192.23.34.45 8.123.10.124
因为按字符串排序。
但我希望输出为
8.123.10.124 192.23.34.45
如何编写相同的查询。有什么方法可以在 HSQL 中拆分字符串
您首先需要将 IP 地址从字符串转换为整数。例如,IP 地址 1.1.1.1 将是 001001001001 您可以使用以下逻辑
while(ip[j]!='\0')
{
if(ip[j]!='.')
a[i]=a[i]*10+ip[j]-'0';
else
i++;
j++;
}
之后,您可以通过适当的数字 (1e9,1e6,1e3,1e0) 多个 a[0],a[1].... 并添加 . 但是,您需要采取一些预防措施,例如存储 IP 地址的字符串没有保存任何空格,并使用 unsigned long long int 以整数形式存储 IP 地址