ホームページ > データベース > mysql チュートリアル > MySQL で VARCHAR フィールドを数値的にソートするにはどうすればよいですか?

MySQL で VARCHAR フィールドを数値的にソートするにはどうすればよいですか?

DDD
リリース: 2024-12-05 13:18:12
オリジナル
433 人が閲覧しました

How Can I Sort a VARCHAR Field Numerically in MySQL?

MySQL で Varchar フィールドを数値的に並べ替える

varchar フィールドに文字列として保存されている数値を並べ替える際に問題が発生しましたか? MySQL では、辞書順ソートにより、「42」のような値が「9」より前に来るという予期せぬ結果が生じる可能性があります。

問題への対処

これを解決するには、並べ替える前に、varchar フィールドを符号付き整数として明示的にキャストするクエリ。この変換により、値が強制的に数値表現に変換され、正しい数値の並べ替えが容易になります。

変更されたクエリ:

元のクエリを次の変更されたバージョンに置き換えます:

SELECT * FROM table ORDER BY CAST(number as SIGNED INTEGER) ASC
ログイン後にコピー

を理解するCast:

CAST() 関数は、数値フィールドを varchar から符号付き整数に変換します。これにより、MySQL が値を文字データではなく数値として扱うようになります。

昇順ソート順序:

order by 句で ASC を指定することで、MySQL にソートを指示します。結果は昇順で表示されます。これは、最小の数値が最初に表示されることを意味します。

この変更されたクエリを実装すると、varchar フィールドを数値的に効果的に並べ替えることができ、「9」のような値が「42」より前に来るようになります。

以上がMySQL で VARCHAR フィールドを数値的にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート