正確な比較のために 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 サイトの他の関連記事を参照してください。