2013-09-03 4 views
1

테이블에 IPAddress라는 열이 하나 있습니다. IPAddress를 정렬 된 순서로 가져오고 싶습니다. 내가하여 IPAddress에 의해 주문을 사용하는 경우IP 주소 열 정렬

 
IP Address: 
8.123.10.124 
192.23.34.45 

, 나는 순서 때문에 문자열로 정렬을하여

 
192.23.34.45 
8.123.10.124 

으로 출력을 얻을 것이다.

하지만 내가 원하는 출력과 동일한에 대한 쿼리를 작성하는 방법을

 
8.123.10.124 
192.23.34.45 

있다. HSQL에서 문자열을 분할하는 방법이 있습니까

+0

"* string in HSQL * "- 예 : http://hsqldb.org/doc/2.0/guide/builtinfunctions-chapt.html#bfc_string_binary_functions –

답변

1

먼저 IP 주소를 string에서 int로 변환해야합니다. 예를 들어, IP 주소 1.1.1.1은 당신이 당신이 할 수있는 여러 A [0], A [1] ... 해당 번호로 (1e9,1e6,1e3 후 논리

while(ip[j]!='\0') 
     { 
     if(ip[j]!='.') 
      a[i]=a[i]*10+ip[j]-'0'; 
     else 
      i++; 
     j++; 
     } 

에게를 사용할 수 있습니다 001001001001 것 , 1e0)를 추가합니다. 그러나 IP 주소를 저장하는 문자열에 저장되는 공백이 없으며 정수 형식의 IP 주소를 저장하기 위해 부호없는 long long int를 사용하는 것과 같은 몇 가지주의 사항이 필요합니다.