我的表中有一列名为IPAddress的列。我想按排序顺序获取IPAddress。
IP Address: 8.123.10.124 192.23.34.45
如果我使用Order by IPAddress,我将输出为
192.23.34.45 8.123.10.124
因为按顺序排序为字符串。
但我希望输出为
8.123.10.124 192.23.34.45
如何为同一个人编写查询。 有没有办法在HSQL中分割字符串
答案 0 :(得分:1)
首先需要将IP地址从字符串转换为int。例如,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地址