Where 子句 T-SQL 未给出预期结果

Where clause T-SQL gives not the expected results

我在 table_a.value 'abcdefg 10 / 20 / 30 sdafadsfas' 字段中有以下值。

当我 select table_a 并应用以下 where 子句时:

Where table_a.value like '%[0-9] / 20 / [0-9]%' 

它将return值:

'abcdefg 10 / 20 / 30 sdafadsfas'

当我应用以下 where 子句时:

Where table_a.value like '%[0-9] / [0-9] / [0-9]%'

它将return没有值。

有人可以解释一下出了什么问题吗?

[0-9] 正好代表 1 个数字。

如果列的值在空格之间、斜线之间恰好包含 1 个数字,则代码中的模式 '%[0-9] / [0-9] / [0-9]%' 将被匹配。

'abcdefg 10 / 20 / 30 sdafadsfas' 在该位置包含 2 个数字,而不仅仅是 1 个。

为了让您的代码正常工作,您应该使用这种模式:

'%[0-9] / [0-9][0-9] / [0-9]%'