我有一个4位数的nvarchar
字段。
前2位数字介于00和99之间。
接下来的2位数应该是00到15之间的数字
我的SQl like
看起来像这样:
I4020 like '[0-9][0-9][0-1][0-9]'
问题是,例如1219是可能的。
是否可以使用类似模式执行此操作?
BR Stefan
答案 0 :(得分:4)
使用一个 LIKE模式无法做到这一点。但是,您可以使用其中两个:
(I4020 like '[0-9][0-9]0[0-9]' OR I4020 like '[0-9][0-9]1[0-5]')
或者,如果字段始终包含数字,则可以使用数字匹配:
I4020 LIKE '[0-9][0-9][0-9][0-9]'
AND CONVERT(int, RIGHT(I4020, 2)) <= 15
但请注意,T-SQL AND
不会短路:如果I4020
的最右边两个字母不是数字,则后一个查询可能会失败。
答案 1 :(得分:2)
制动间隔
(I4020 like '[0-9][0-9]0[0-9]' OR I4020 like '[0-9][0-9]1[0-5]')
答案 2 :(得分:0)
(I4020 like '[0-9][0-9]0[0-9]' OR I4020 like '[0-9][0-9]1[0-5]')