sql server - sqlserver pattern matching on a particular variable -


i need implement pattern matching using sqlserver...

these following conditions-

  1. the first letter of word should start character. 2.it can upper or lower case 3.the following characters after 1st chacter can numbers 1-9 or valid characters or underscore..

basically need implement regular expression logic in sqlserver

'/^[a-za-z][a-za-z0-9_]*$/ 

i'm sure work

ie;

select var_1 table_1 var_1 [a-z] not sure how if logic can implemented

for regex /^[a-za-z][a-za-z0-9_].*$/:

where somecolumn '[a-z][a-z0-9_]%'  -- column @somecolumn '[a-z][a-z0-9_]%' -- variable 

i.e.

select var_1 table_1 var_1 '[a-z][a-z0-9_]%' 

fyi unless have changed defaults, sql server databases not collated case sensitive. therefore, range [a-z] include letters, upper or lower case. singular character % matches 0 number of characters.

the start of string (^ in regexp) implicit fact pattern not prefixed %.

reference: like (transact-sql)


for regex /^[a-za-z][a-za-z0-9_]*$/:

use pattern in t i's comment, i.e.

where var_1 '[a-z]%' , not var_1 '%[^a-z0-9_]%' 

the first part ensures first character letter; second part ensures in position (including first), valid characters alphanumerics or underscore, exclusion (^).


Comments