#632 | テキスト型フィールドを数値として並べ替えるには? | クエリ | |
テーブルのフィールドのデータ型として「テキスト型」が設定されている場合、そこに実際に入力されているデータがたとえ数字のみであっても、クエリ等で並べ替えを行った場合にはあくまでもテキストとして比較照合が行われるため、数値の大小順とはなりません。 たとえば下図の場合、テキスト型である「オーダー記号」フィールドに並べ替えを設定していますが、先頭の1文字めの文字・2文字めの文字・3文字めの文字〜〜〜〜というように並べ替えられるため、数値としてみた「101」が「1000」よりも大きくなっていることが分かります。 このようなとき、そのフィールドの値を”数値”として判断させて並べ替えるには、次のようにクエリを作ります。
※ただし元データはあくまでもテキスト型ですので、アルファベット等が含まれている場合には文字としての並び順になります。たとえば下図では「10A」は「11」より大きいと判断されています。桁数が3ですので、「104」より大きく「110」よりは小さいと判断されていることが分かります。 |
|||
|
Copyright © T'sWare All rights reserved |