在SQL中.为什么带有通配符的'Like'语句不起作用?

Ste*_* DJ 5 sql t-sql sql-server

Declare @Temp1 as nvarchar(max) = '[10004120][1100][10033583][1005]'
Declare @Temp2 as nvarchar(max) = '[10004120][1100]'

If @Temp1 like @Temp2 + '%'
    Print 'Yup'
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?我没有收到"是"的消息.

Lau*_*gil 7

这不起作用,因为字符串中的括号在LIKE语句中具有特殊功能 - 括号内的项构成一组值,指定位置的单个字符匹配.您的原始模式会查找1,0,4或2,然后是1或0.要使此工作,您应该有这样的模式:

Declare @Temp2 as nvarchar(max) = '[[]10004120][[]1100]'
Run Code Online (Sandbox Code Playgroud)