ホームページ > データベース > mysql チュートリアル > MySQL に文字列として保存されている数値を正しく並べ替えるにはどうすればよいですか?

MySQL に文字列として保存されている数値を正しく並べ替えるにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-12 18:33:47
オリジナル
891 人が閲覧しました

How Can I Correctly Order Numbers Stored as Strings in MySQL?

MySQL 文字列番号をソートする正しい方法

さまざまな制限により、MySQL データベースでは数値が VARCHAR データ型で格納されることがあります。ただし、これらの値に基づいてデータを並べ替える場合、文字が数値より優先されるため、数値が正しく並べ替えられません。

この問題を解決するには、次の構文を使用して文字列値を明示的に整数に変換します。

<code class="language-sql">SELECT col FROM yourtable
ORDER BY CAST(col AS UNSIGNED)</code>
ログイン後にコピー

この変換により、データベースは値を整数として扱うようになり、正しい数値順序が保証されます。

代わりに、文字列を暗黙的に整数に変換する数学演算を使用することもできます。例:

<code class="language-sql">SELECT col FROM yourtable
ORDER BY col + 0</code>
ログイン後にコピー

この場合、0 を追加すると MySQL は数値変換を強制的に実行します。

MySQL は文字列を左から右に変換することに注意してください。数字以外の文字を含む文字列、または数字以外の文字で始まる文字列は 0 に変換され、不正な並べ替えが発生します。したがって、文字列値には数字のみが含まれていることを確認する必要があります。

以上がMySQL に文字列として保存されている数値を正しく並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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