Comment vérifier si cinq premiers caractères d'un champ correspondre à un autre?
En supposant que j'ai le tableau suivant:
AAAAAA
AAAAAB
CCCCCC
Comment ai-je pu concevoir une requête qui doit me faire savoir que AAAAA
et AAAAB
sont similaires (comme ils partagent cinq caractères dans une ligne)? Idéalement, je voudrais écrire ce qu'une requête qui serait de vérifier si les deux champs partagé cinq caractères dans une ligne n'importe où dans la chaîne, mais cela semble en dehors de la portée de SQL et quelque chose que je devrais écrire dans une application C#?
Idéalement, la requête serait ajouter une autre colonne qui s'affiche: Similar to 'AAAAA', 'AAAAB'
comment font-ils la part de cinq caractères dans une ligne? ils ne partagent 4, ou voulez-vous dire le nombre de caractères?
Désolé, j'ai fait mon exemple mal (vendredi en fin d'après-midi). La mise à jour maintenant
même ici vendredi après-midi, donc je reste dans la; @Michael est-il utilisé à des fins de comparaison ou vous venez d'avoir un jeu de données et souhaitez comparer entre eux?
Quand vous dites que votre idéal serait de faire correspondre n'importe où, voulez-vous dire que les deux chaînes doivent avoir cinq caractères à la même position, ou de tel que de cinq caractères au début d'une chaîne serait un match pour cinq personnages à la fin de l'autre?
Le
Désolé, j'ai fait mon exemple mal (vendredi en fin d'après-midi). La mise à jour maintenant
même ici vendredi après-midi, donc je reste dans la; @Michael est-il utilisé à des fins de comparaison ou vous venez d'avoir un jeu de données et souhaitez comparer entre eux?
Quand vous dites que votre idéal serait de faire correspondre n'importe où, voulez-vous dire que les deux chaînes doivent avoir cinq caractères à la même position, ou de tel que de cinq caractères au début d'une chaîne serait un match pour cinq personnages à la fin de l'autre?
Le
SOUNDEX
et DIFFERENCE
ce n'est pas vraiment applicable à général correspondant à un modèle, mais peut être de quelque intérêt.OriginalL'auteur Michael A | 2012-02-03
Vous devez vous connecter pour publier un commentaire.
Je vous suggère de ne pas essayer de violer 1FN par l'introduction d'un attribut à valeurs multiples.
Notant que
SUBSTRING
est très portable:Alternativvely:
OriginalL'auteur onedaywhen
Cela permettra de trouver tous les matches, mais aussi ceux dans le milieu du mot, il ne sera pas bien sur une grande table
Résultat:
OriginalL'auteur t-clausen.dk
Vous pouvez utiliser de gauche de comparer les cinq premiers caractères et vous pouvez utiliser
for xml path
pour concaténer les chaînes similaires à une colonne.Résultat:
OriginalL'auteur Mikael Eriksson