Requête SQL pour vérifier si un nom commence et se termine par une voyelle
Je veux interroger la liste des CITY
les noms de la table STATION(id, city, longitude, latitude)
qui ont voyelles comme les deux leur premier et le dernier caractère. Le résultat ne peut pas contenir de doublons.
Pour ce que j'ai écrit, comme une requête WHERE NAME LIKE 'a%'
qui avait 25 conditions, chaque voyelle pour chaque voyelle, ce qui est assez lourd. Est-il un meilleur moyen de le faire?
source d'informationauteur Zeus
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un expression régulière:
Utiliser une expression régulière.
^
et$
ancre le match au début et à la fin de la valeur.Dans mon test, ce ne sera pas utiliser un index sur la
name
colonne, de sorte qu'il sera nécessaire d'effectuer une analyse complète, comme le feraitJe pense à utiliser un index, vous devez utiliser une union de requêtes que chaque test de la première lettre.
dans Microsoft SQL server vous pouvez obtenir ce à partir de ci-dessous requête:
Ou
Vous pourriez substring le premier et le dernier caractère et de la comparer avec mot-clé,
Vous pouvez essayer cette
La requête ci-dessous va faire pour Orale DB:
Essayez ce qui suit:
Pour MS access et MYSQL server
À la fois des énoncés ci-dessous le travail dans Microsoft SQL SERVER
En MSSQL, cela pourrait être la voie:
Dans Oracle:
Essayez ceci pour en commençant par la voyelle
Oracle:
Essayez ce qui suit:
Vous pouvez essayer une solution simple pour MySQL:
SELECT DISTINCT ville DE la station OÙ ville REGEXP "^[aeiou].*";
Pour oracle :