Din første forespørgsel ville være korrekt, hvis du brugte AND
i stedet for OR
.
Du kan finde det logikken enklere som:
where not (city like 'A%' or city like 'E%' or . . . ) and
. . .
Ifølge logikkens regler svarer dette til:
where city not like 'A%' and city not like 'E%' and . . . ) and
. . .
Hvad angår det regulære udtryk, har det kun sammenligningen i begyndelsen af strengen:
where not regexp_like(lower(city), '^[aeiou].*[aeiou]$')