我正在尝试检查名称是否包含无效字符,到目前为止,除了检查大小写之外,我已经设法获得了所需的一切,我尝试过使用
SELECT BINARY('jiLl') REGEXP('[[:upper:]]+');
但不幸的是,它也标记格式正确的名称,如(Jack),是否可以让正则表达式忽略名称的第一个字符,如果是,如何?
提前谢谢你, --a
答案 0 :(得分:1)
退后一步,重新思考;)
给我所有不以大写字母开头的实例,其余的都是小写的:
mysql> SELECT BINARY('JacK') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid;
+------------+
| is_invalid |
+------------+
| 1 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT BINARY('jiLl') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid;
+------------+
| is_invalid |
+------------+
| 1 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT BINARY('Jack') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid;
+------------+
| is_invalid |
+------------+
| 0 |
+------------+
1 row in set (0.00 sec)