Я пытаюсь проверить, имеет ли имя недопустимые символы, до сих пор мне удалось получить все, что мне нужно, помимо проверки на капитализацию, я пробовал использовать
SELECT BINARY('jiLl') REGEXP('[[:upper:]]+');
но, к сожалению, также флаги правильно отформатированных имен, как в (Джек), возможно ли, чтобы регулярное выражение игнорировало первый символ имени, и если да, то как?
Заранее спасибо, --a
Сделайте один шаг назад и переосмыслите;)
Дайте мне все экземпляры, которые не начинаются с прописной буквы, а остальные - в нижнем регистре:
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)