1. ホーム
  2. mysql

[解決済み] MySQLで値が整数であるかどうかを確認するにはどうすればよいですか?

2022-07-05 23:28:13

質問

私は、MySQL 内に Cast()Convert() 関数を使って値から整数を生成することができますが、値が整数であるかどうかを確認する方法はあるのでしょうか? 例えば is_int() のようなものをPHPで探しています。

どのように解決するのですか?

文字列の値をチェックしたい場合を想定してみます。いい方法の一つはREGEXP演算子で、文字列を正規表現にマッチさせることです。単純に

select field from table where field REGEXP '^-?[0-9]+$';

とすると、それなりに速くなります。フィールドが数値の場合、単に

ceil(field) = field

の代わりに