ホームページ > データベース > mysql チュートリアル > 正確な比較のために MySQL データから数字を抽出するにはどうすればよいですか?

正確な比較のために MySQL データから数字を抽出するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-07 21:16:16
オリジナル
397 人が閲覧しました

How to Extract Numeric Characters from MySQL Data for Accurate Comparisons?

正確な比較のために MySQL データから数値を抽出する

データベース エントリに含まれない可能性がある MySQL テーブル内の特定の数値と比較するには-数字を削除するには、信頼できる方法が必要です。 preg_replace のような PHP 関数は便利なソリューションを提供しますが、MySQL にはネイティブ アプローチが必要です。

非数字を除去する MySQL 関数

このタスクを効果的に実行するには、次の MySQL を使用します。機能は可能です作成:

CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
   DECLARE output   VARCHAR(255) DEFAULT '';
   DECLARE iterator INT          DEFAULT 1;
   WHILE iterator < (LENGTH(input) + 1) DO
      IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
         SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
      END IF;
      SET iterator = iterator + 1;
   END WHILE;
   RETURN output;
END
ログイン後にコピー

使用法

クエリで STRIP_NON_DIGIT 関数を利用するには、次のようにターゲット列に適用するだけです:

SELECT * FROM foo WHERE STRIP_NON_DIGIT(bar) = '12345';
ログイン後にコピー

このクエリは、数値以外の文字を削除した後の棒列がユーザーの列と一致するレコードを取得します。 「12345」を入力。

以上が正確な比較のために MySQL データから数字を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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