10
votes

Pouvons-nous utiliser "pas comme" dans SQL

Pouvons-nous utiliser "pas comme"% ABC% "" juste en face de comme "% ABC%" ? J'ai essayé et j'ai reçu un certain résultat mais ne ressemble pas à correct !!

Y a-t-il quelque chose de similaire à regex dans SQL .

I Hae Une table avec 3 champs. xxx

puis-je récupérer l'adresse ** avec des caractères spéciaux avec une vérification de chaque personnage spécial un par un. Comment


3 commentaires

L'existence de la balise DB2 signifie-t-elle y a-t-elle une regex dans db2 ?


:-) J'utilise db2 .. Mais la question concerne le général SQL!


En googling, j'ai découvert que même SQL Server en a un certain soutien. Mais ce n'est pas largement utilisé. Regex Row Lookup est chère.


4 Réponses :


5
votes

Bien sûr, look ici . Aussi pas comme est supporté.


2 commentaires

Juste pour compléter la réponse, Question associée ;


Choquant qu'un lien sur ibm.com a survécu si longtemps. Si le lien disparaît, voici quelques textes utiles [précédés de la navigation] pour la localiser à nouveau: développeurworks-> Thèmes techniques-> Gestion technique -> Bibliothèque technique Porter le pouvoir de l'expression régulière correspondant à SQL La possibilité de trouver des modèles dans une chaîne est un scénario courant dans de nombreuses applications à base de texte. Cet article explique comment étendre le DB2 pour intégrer une bibliothèque pour la correspondance d'expression régulière dans DB2, rendant ainsi la tâche beaucoup plus facile et plus efficace. Knut Stolzeibm Allemagne 23 janvier 2003



6
votes

dans SQL Server. Si vous souhaitez des adresses contenant des caractères autres que l'alphanumérique et les espaces: xxx

notant le caractère ^ signifie "tout caractère unique non dans la plage spécifiée". Pas sûr si quelque chose de très similaire est possible dans db2.


0 commentaires

3
votes

dans db2 (version 9.7.900.250), j'ai spécifié avec succès "pas comme" de cette façon: xxx

ceci montre toutes les commandes où le numéro de commande ne commence pas avec un capital " S ".


0 commentaires

2
votes

Aucune description n'a été donnée pour ce qui était "essayé et obtenu un certain résultat mais je n'ai pas l'air correct !!" En ce qui concerne l'enquête sur le sujet, mais en revue des données données et les deux prédicats de l'OP, considérons ce qui suit; Notting, la demande secondaire regex est apparemment déjà répondu et acceptée, donc ignorée dans cette réponse: xxx

La requête DB2 ci-dessus doit donner la définition {(2) , (3), (3)}; I.e. Inclure tout sauf la première rangée. Modification du prédicat de adresse non comme '% ABC%' à Adresse comme "% ABC%" devrait donner l'ensemble {(1)}; I.e. Inclure uniquement la première ligne. La spécification du prédicat dans l'une ou l'autre adresse pas comme '% ABC%' ou non (l'adresse comme "% abc%") devrait donner le même résultat; Ce sont des demandes logiquement identiques.


0 commentaires