TSQL fonction pour comparer deux chaînes de caractères
Quelqu'un peut-il me donner des exemples de TSQL code de comparer les deux adresses e-mail afin de vérifier qu'ils sont égaux ou pas?
CLR fonctions ne sont pas une option. J'ai essayé, mais notre DBA pour une raison quelconque est totalement contre l'utilisation des fonctions CLR dans SSMS.
Je sais comment récupérer les noms de domaine (par exemple: mycompany.com) à partir de l'adresse e-mail.
Vraiment apprécier toutes les suggestions
Merci d'avance
- euh, vous n'avez pas besoin d'une fonction pour comparer deux chaînes de caractères pour l'égalité - quel est le problème avec l'aide de
=
? - Par comparer vous dire la similitude ou l'égalité?
- Votre question dit que vous savez comment obtenir les noms de domaine de l'adresse de courriel, donc il suffit de comparer ces chaînes? Ou était-ce une faute de frappe et que vous vouliez lui dire que vous ne savez pas?
Vous devez vous connecter pour publier un commentaire.
Pas vraiment sûr de ce que vous cherchez. D'après votre question, je comprends que vous avez besoin de vérifier les 2 adresses e-mail pour la ressemblance /dissemblance.
Pourquoi ne pouvez-vous pas utiliser ce?
Raj
Dans SQL Server 2005+ utilisation de la fonction de somme de contrôle()
CHECKSUM calcule une valeur de hachage, appelée la somme de contrôle, plus de la liste de ses arguments. La valeur de hachage est prévu pour l'utilisation dans la construction de hachage index. Si les arguments de la somme de contrôle sont des colonnes, et un index est construit sur la somme de contrôle calculée valeur, le résultat est un index de hachage. Ceci peut être utilisé pour l'égalité des recherches sur les colonnes.
Plus d'infos sur Somme de contrôle()
Tester si deux adresses e-mail ont le même domaine:
Si c'est un vieux post, je pense que c'est important de parler de la solution à l'aide de la somme de contrôle. Par définition, les sommes de contrôle appartiennent à un espace fini donc ayant un nombre fini de valeurs différentes. Avec un 32 bits nombre, il y a 4,294,967,295 valeurs possibles. Je suis tenté de dire il ya SEULEMENT 4,294,967,295 valeurs possibles laissant place à une éventuelle collision lorsque deux adresse email rendement de la même somme. La pure comparaison de chaînes de caractères (email1 = email2) - comme suggéré par Raj qui empêche une telle collision car de par leur nature adresses e-mail sont uniques.
cf: [https://msdn.microsoft.com/en-us/library/ms189788(v=SQL.100).aspx?ranMID=24542&ranEAID=TnL5HPStwNw&ranSiteID=TnL5HPStwNw-pDIZxu_YsTXD2vBagzBEKA&tduid=(e03e708849bdae31622c749be9e951f9)(256380)(2459594)(TnL5HPStwNw-pDIZxu_YsTXD2vBagzBEKA)()][1]
[http://preshing.com/20110504/hash-collision-probabilities/%5D%5B2%5D
- qu'patindex fonction de ()?
-- petit exemple: