mssqlserver正则表达式

cbjzeqam  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(334)

我有以下正则表达式: [I,F,N,B,H,K,V,Y,E,M,P,IS,IU,PP][0-9]{3,8} 我试过:

SELECT * 
FROM *table* 
WHERE Description LIKE '%[I,F,N,B,H,K,V,Y,E,M,P,IS,IU,PP][0-9]{3,8}%'
bpsygsoo

bpsygsoo1#

我猜你想要这些字符串中的一个作为前缀。也就是说,你真的打算:

(I|F|N|B|H|K|V|Y|E|M|P|IS|IU|PP)[0-9]{3,8}

如果是的话,“3”很重要。但“8”不是——因为“8”与“3”匹配。
考虑到这一点,您可以:

where description like '%[IFNBHKVYEMP][0-9][0-9][0-9]%' or
      description like '%I[SU][0-9][0-9][0-9]%' or
      description like '%PP[0-9][0-9][0-9]%'

严格地说,最后一个条件是不必要的,因为它匹配第一个条件。

相关问题