执行此操作
select PATINDEX('%[0 ]%', '03/SI/00807/18-19')
我得到1
。
通过像这样使用^
:
select PATINDEX('%[^0 ]%', '03/SI/00807/18-19')
我得到2
。
答案 0 :(得分:1)
[^] 允许您匹配不在[^]括号内的任何字符(例如,[^ abc]可以匹配非a,b或c字符的任何字符)
[] 允许您匹配[]括号中的任何字符(例如[abc]可以匹配a,b或c字符)
_ 允许您匹配单个字符
%允许您匹配任何长度(包括零长度)的任何字符串
答案 1 :(得分:0)
[^abcd]
的意思是:除了a,b,c或d之外的任何一个字符
select PATINDEX('%[0 ]%', '03/SI/00807/18-19')
字符串中的第一个字符(0或空格)首先是0,因此patindex返回1。
select PATINDEX('%[^0 ]%', '03/SI/00807/18-19')
字符串中的第一个字符是( 0 都不是空格),第二个字符是3,因此patindex返回2。