mysql では、REGEXP 演算子を使用して、データが数値型であるかどうかを判断できます。構文は「String REGEXP '[^0-9.]'」です。この演算子は正規表現の略です。 . データの文字に数字が含まれている場合、返される結果は true であり、それ以外の場合、返される結果は false です。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
mysql の REGEXP 演算子の使用
REGEXP 演算子は、正規表現 (正規表現) の略です。正規表現が入っている 文字列を検索するときに非常に強力です 以下はその応用についてです
{String} REGEXP '[^0-9.]'
最初の文字列は判断する必要があるもので、2番目の文字列はmysqlの正規表現です。数字または小数点ではない文字と一致します。
文字列に 0 ~ 9 以外の数値または小数点が含まれている場合は true を返し、それ以外の場合は false を返します。
Usage
select ('123a' REGEXP '[^0-9.]');
--'123a' には文字 'a' が含まれており、出力結果は 1、mysql の定数 true の出力は 1、false の出力は 0
select * from tablename where (name REGEXP '[^0-9.]') = 1
フルネームをクエリします。数字であるレコードです。
注: 文字列にスペースが含まれている場合は、正規表現も照合され、1 が返されます。両端のスペースを削除したい場合は、判定対象の文字列に対してtrim()関数を使用する必要があります。
#速度列が数値ではないデータをクエリする
select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;
#速度列が数値であるデータをクエリする
select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;
推奨学習: mysql ビデオ チュートリアル#
以上がmysql が数値型かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。