ホームページ  >  記事  >  データベース  >  MySQL で数値を含む Varchar 列をソートするにはどうすればよいですか?

MySQL で数値を含む Varchar 列をソートするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 07:31:03650ブラウズ

How Can I Sort Varchar Columns Containing Numeric Values in MySQL?

MySQL での Varchar カラムの数値ソート

数値を含む varchar カラムを扱う場合、数値としてソートするのは困難な場合があります。これに対処する 1 つのアプローチは、式 "* 1" を使用することです。

数値の並べ替えに "* 1" を使用する

「」という varchar 列を持つテーブルを考えてみましょう。 「number_as_char」には、「17.95」、「199.95」、「139.95」などの値が含まれます。この列を数値的に並べ替えるには、次のクエリを使用できます。

<code class="mysql">SELECT *
FROM tbl
ORDER BY number_as_char * 1;</code>

「* 1」式は、varchar 値を数値に効果的に変換します。これにより、先頭のゼロやその他の数値以外の文字に関係なく、列を数値として並べ替えることができます。

「* 1」を使用する利点

「*」を使用する1" 式には、いくつかの利点があります。

  • 堅牢性: 一部の行に純粋に数値以外のデータが含まれる状況を処理できます。
  • 精度: 適切なキャスト型を選択する際のアンダーフローの回避に役立ちます。
  • 柔軟性: 英数字データから数値部分を削除し、「123A」や「125A」などの値の並べ替えを可能にします。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。