11

私はテーブルの列に持っていますpnum_s

列の値pnum_sが正確に10記号であり、これらの記号はすべて数字のみである行のみを取得する必要があります

これにはどのようなクエリを書く必要がありますか?

やっています

SELECT * FROM mytable WHERE pnum_s REGEXP '^\d+$'

しかし、これは0行を返しません

4

4 に答える 4

23

探しているパターンは または のいずれ'^[0-9]{10}$''^[[:digit:]]{10}$'です。

すべてはマニュアルにあります

于 2013-06-04T16:02:41.827 に答える
6

参考ページをご覧ください。

http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp

あなたが探しているのはこれです:

SELECT * FROM mytable WHERE pnum_s REGEXP '^[[:digit:]]{10}$';
于 2013-06-04T16:07:28.257 に答える