i need implement pattern matching using sqlserver...
these following conditions-
- 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
Post a Comment