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

数据库有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 タイプに変換して並べ替えるだけです

リーリー
いいねを押す +0
PHPzhong

整数に変換してから並べ替えます。 IP などのフィールドについては、文字列ではなく整数をデータベースに直接保存することも推奨されます

変換の例を示します:

リーリー
いいねを押す +0
洪涛

IP アドレスを最初に int 型に変換してからデータベースに保存できます。または、データベース内の文字列を取得し、Java の Long に変換して比較します。

IP アドレスは 0 ~ 255 の 4 つの部分で構成され、各部分は 1 バイトであり、4 つの部分はちょうど 4 バイトの整数です。

いいねを押す +0
巴扎黑

シェルは次のようにソートできます:

リーリー

vim での並べ替え:

リーリー

最後に、Python バージョンを示します。Java で変更できます。

リーリー
いいねを押す +0
PHPzhong

int に変換して並べ替えます

リーリー
いいねを押す +0
洪涛

アイデア: 各フィールドごとに並べる

リーリー
いいねを押す +0
洪涛

アイデアは、IP を整数に変換してから並べ替えることです。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!