DB - SqlServer 取消like中下划线的转义功能(原创)
在工作中我需要找出所有以 XXX_ 开头的表。
使用:
select * from sysobjects where type='U' and name like 't_%'
会将 XXXYYY 也包含在内 。因为 下划线(_) 是一个占位符,只要 XXX 后面有以为都会被匹配上。
如果将下划线当做字符来用,取消它的转义功能。那么就需要这样写:
select * from sysobjects where type='U' and name like 't[\_">%'
我今天在上网没有找到,就用正则表达式的方式试出来了。不敢肯定是SqlServer的标准写法,但是只要能用就可以了。