Help για MSSQL query με regular expression

Συζητήσεις για τον Microsoft SQL Server

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
paink1ller
Δημοσιεύσεις: 865
Εγγραφή: 21 Ιαν 2008 19:51

Help για MSSQL query με regular expression

Δημοσίευση από paink1ller » 18 Μαρ 2010 10:58

Γνωριζει καποιος πως μπορω να δωσω ενα query με regular expression οπου να μου επιστρεφει τα records που εχουν 2 φορες το '**' στο string καποιου field?

πχ εβαλα εβαλα LIKE '%**%' για να μου φερει οποιοδηποτε εχει '**' αλλα τωρα χρειαζομαι αυτα που εχουν μονο 2 φορες '**' μεσα στο string.

Eυχαριστω
Ηobby: Shooting photons

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Help για MSSQL query με regular expression

Δημοσίευση από dva_dev » 18 Μαρ 2010 16:01

Δεν υποστηρίζει* regular expressions απ' όσο ξέρω, μόνο wildcards.

Αυτό που θέλεις μπορεί να γίνει λίγο διαφορετικά:

Κώδικας: Επιλογή όλων

select * from mytable where len(field)-len(replace(field,'**','')) = 2*len('**')
Προφανώς το 2*len('**') θα το αντικαταστήσεις με το 4.

Ακόμα καλύτερα να φτιάξεις μια function που να παίρνει το πεδίο, το string που ψάχνεις και το πόσες φορές θέλεις να το βρεις και να επιστρέφει true/false.

* Μπορείς να προσθέσεις extended ή automation stored procedures. Δες στα
http://www.codeproject.com/kb/database/ ... orial.aspx
http://www.codeproject.com/KB/database/xp_pcre.aspx
http://blogs.mscommunity.net/blogs/tkra ... erver.aspx
http://msdn.microsoft.com/en-us/library/ms164653.aspx
http://www.devx.com/getHelpOn/10MinuteSolution/20562
http://www.codeguru.com/forum/showthread.php?t=368779

Άβαταρ μέλους
paink1ller
Δημοσιεύσεις: 865
Εγγραφή: 21 Ιαν 2008 19:51

Help για MSSQL query με regular expression

Δημοσίευση από paink1ller » 18 Μαρ 2010 16:44

Πω! με εσωσες. Πολυ καλο κολπο !

Ευχαριστω για το tip και τα πολυτιμα links.
Ηobby: Shooting photons

Απάντηση

Επιστροφή στο “MS SQL Server”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες