Квантор *
означает ноль или более . Поскольку каждое имя содержит как минимум ноль Z
символов, возвращается каждая строка.
Вам не нужно использовать регулярное выражение для поиска строк, начинающихся с символа, вы можете просто использовать LIKE
:
SELECT record FROM myrecords WHERE name LIKE 'Z%';
Если вы хотите, чтобы имена начинались с Z с использованием регулярного выражения , попробуйте следующее:
SELECT record FROM myrecords WHERE name ~ '^Z';
Если вы хотите, чтобы имена содержали хотя бы один Z, попробуйте один из них:
SELECT record FROM myrecords WHERE name LIKE '%Z%';
SELECT record FROM myrecords WHERE name ~ 'Z';