java - 字符串型IP地址从小到大排序
PHP中文网
PHP中文网 2017-04-18 09:54:59
0
7
913

数据库有IP一列,我想取出时按从小到大排列,但因为是字符串型,排列结果变成了
x.x.x.1
x.x.x.10
x.x.x.11
x.x.x.2.....
有没有办法让字符串像数字一样从小到大排列?或者取出后在java中有什么办法?

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(7)
小葫芦

Postgres에는 이미 IP 유형이 있으므로 설계 시 필드 유형으로 사용해야 합니다

아무튼 이 문제를 말씀하셨으니 IP 유형으로 변환해서 정렬하시면 됩니다

으아악
PHPzhong

정수로 변환한 후 정렬하세요. IP와 같은 필드의 경우 문자열 대신 데이터베이스에 직접 정수를 저장하는 것이 좋습니다

변환의 예를 들어주세요:

으아악
洪涛

IP 주소를 먼저 int 유형으로 변환한 다음 데이터베이스에 저장할 수 있습니다. 또는 데이터베이스의 문자열을 Java에서 Long으로 변환한 다음 비교하세요.

IP 주소는 0~255의 네 부분으로 구성되며 각 부분은 1Byte이고 네 부분은 정확히 4Byte인 정수입니다.

巴扎黑

쉘 정렬 가능:

으아악

vim으로 정렬:

으아악

마지막으로 Python 버전을 제공하겠습니다. Java에서 수정할 수 있습니다.

으아악
PHPzhong

int로 변환한 후 정렬

으아악
洪涛

아이디어: 분야별 정렬

으아악
洪涛

아이디어는 IP를 정수로 변환한 다음 다음과 같이 정렬하는 것입니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!