Est il possible d'utiliser des expressions regulieres avec SQL Server 2005 ?
D'avance merci ...
Est il possible d'utiliser des expressions regulieres avec SQL Server 2005 ?
D'avance merci ...
Oui et Non !
En fait il n'y a pas d'opérateur spécialisé tel que le prédicat SIMILAR prévu par la norme SQL:1999 (n'est pas réellement un opérateur sur expression régulières car les tables ne sont pas des textes !).
mais il est possible de réliser une fonction proche en SQL CLR et de la greffer pour pouvoir l'utiliser dans une requête.
Cepandant, l'utilisation d'une telle chose est extrémement contre performante quelque soit la solution. Il vaut donc mieux utiliser d'autres techniques comme par exemple l'indexation textuelle.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Hop hop hop. Je fais remonter ce topic qui m'intéresse particulièrement : Si je comprends bien ce que tu dis SQLPro on ne peut pas restreindre l'insertion d'un champ par une expression régulière directement en T-SQL sous SQL Server ?
Par exemple si je veux vérifier qu'une IP est valide au moment de l'insérer dans un champ ipAdress, il faut que je fasse cette vérification soit dans le code de mon application avant l'insertion, soit dans un trigger en SQL CLR ? Si c'est le cas c'est bien dommage.
Merci d'avance des précisions.
Non, pas d'expression régulières...
Ce serait beaucoup trop complexe donc trop couteux. En revanche SQL Server à un like avancé qui permet par exemple de faire :
Mais cela ne constitue franchement pas une bonne modélisation. C'est même l'exemple parfait de ce qu'il ne faut pas faire et que je donne comme exemple catastrophe en terme de performances à mes stagiaires dans le cours ORSYS que j'ai mis au point sur l'optimisation de MS SQL Server !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part colx LIKE '[210][0-9][0-9].[210][0-9][0-9].[210][0-9][0-9].[210][0-9][0-9]'
http://www.orsys.fr/pdfCours/SQO.pdf
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Partager