数据库有IP一列,我想取出时按从小到大排列,但因为是字符串型,排列结果变成了
x.x.x.1
x.x.x.10
x.x.x.11
x.x.x.2.....
有没有办法让字符串像数字一样从小到大排列?或者取出后在java中有什么办法?
高洛峰2017-04-18 09:56:59
Postgres にはすでに IP タイプがあり、設計時にフィールド タイプとして使用する必要があります
とにかく、この問題について言及したので、それを IP タイプに変換して並べ替えるだけです
リーリーPHPz2017-04-18 09:56:59
整数に変換してから並べ替えます。 IP などのフィールドについては、文字列ではなく整数をデータベースに直接保存することも推奨されます
変換の例を示します:
リーリーPHP中文网2017-04-18 09:56:59
IP アドレスを最初に int 型に変換してからデータベースに保存できます。または、データベース内の文字列を取得し、Java の Long に変換して比較します。
IP アドレスは 0 ~ 255 の 4 つの部分で構成され、各部分は 1 バイトであり、4 つの部分はちょうど 4 バイトの整数です。
巴扎黑2017-04-18 09:56:59
シェルは次のようにソートできます:
リーリーvim での並べ替え:
リーリー最後に、Python バージョンを示します。Java で変更できます。
リーリー