Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.databases.ms-sqlserver    |    Notorious Rube Goldberg contraption    |    19,505 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 19,199 of 19,505    |
|    Erland Sommarskog to rja.carnegie@gmail.com    |
|    Re: Regular expression question    |
|    10 Jul 15 21:54:42    |
      From: esquel@sommarskog.se               (rja.carnegie@gmail.com) writes:       > SQL Server 2005. The second and third versions of the       > following statement print 'Yes', which is unexpected.       >       > The intention is to test whether the first term is       > a compound house "number" such as '1A' or '1-3'.       > Either / or \ I thought would perform an "escape"       > in the pattern string, to treat a following special       > character as the literal character, but it seems to       > perform correctly without that, not with. So this       > test may be not doing what I think it is, at all.       > And the question is: uh? ;-)       >       > IF ( '15' LIKE N'[1-9]%[-A-Z]%' ) PRINT 'Yes 1'       >       > IF ( '15' LIKE N'[1-9]%[/-A-Z]%' ) PRINT 'Yes 2'       >       > IF ( '15' LIKE N'[1-9]%[\-A-Z]%' ) PRINT 'Yes 3'       >              The patterns [/-A-Z] and [\-A-Z] means "all characters in the range from       (back)slash to A, as well as hyphen and Z. This will match 15 if digits       are in this range in your collation.              There is no predefined escape character for LIKE, but you can specify one       explictly:               IF '15%' LIKE '[1-9][0-9]!%' ESCAPE '!' PRINT 'Yup'        IF '15$' LIKE '[1-9][0-9]!%' ESCAPE '!' PRINT 'Nope'              You can also use it inside brackets:               IF '10%' LIKE '[1-9][0!-9]!%' ESCAPE '!' PRINT 'Yup'        IF '11%' LIKE '[1-9][0!-9]!%' ESCAPE '!' PRINT 'Nope'        IF '1-%' LIKE '[1-9][0!-9]!%' ESCAPE '!' PRINT 'Yup'        IF '18%' LIKE '[1-9][0!-9]!%' ESCAPE '!' PRINT 'Nope'        IF '19%' LIKE '[1-9][0!-9]!%' ESCAPE '!' PRINT 'Yup'                                   --       Erland Sommarskog, Stockholm, esquel@sommarskog.se              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca