AS400/IBMi 文字列の並び順AAA~999まで

IT関連

ITの世界では同じだと思いますが、3桁の文字列はどういう並び順になるのか調べました。

 

物理ファイルに3桁のカラムを1つ用意してテスト文字列を登録する。

登場人物は、

  • 000
  • 999
  • ZZZ
  • AAA
  • 1AA
  • 11A
  • A11
  • A1A
  • AA1
  • 111
  • 1A1

です。

登録順もこのまま。

QUERY400で吐き出したらもちろん上記の通り吐き出される。

 

これをORDERBYで並び替えたら、

  • AAA
  • AA1
  • A1A
  • A11
  • ZZZ
  • 000
  • 1AA
  • 1A1
  • 11A
  • 111
  • 999

になった。

念のためRPGでキー順にREADしてみたけど結果は一緒。

 

やはりアルファベットは数字より手前に来るようだ。

 

何をしようかと思ったというと、商品コードの連番が3桁で現状は000~999なのです。

それが足らなくなってきたのでアルファベットを追加しようと思ったのです。

どうせ文字列なので大丈夫かなと。

 

上記の結果でいくと000~1AA郡~200~999になるので、ちと邪魔になるかな。

それだけです。

想像力が足らないので検証してみました。失礼しました。

コメント

タイトルとURLをコピーしました