我相信在SQL中到处都会忽略尾随空格,直到我遇到PATINDEX的情况,它们不会被忽略。
情况 1:SELECT PATINDEX('qwerty', 'qwerty')
返回 1。
情况 2:SELECT PATINDEX('qwerty', 'qwerty ')
返回 1。插入在第二个字符串末尾的尾随空格将被忽略。
情况 3:SELECT PATINDEX('qwerty ', 'qwerty')
返回 0。
为什么它没有像案例 2 一样忽略在第一个字符串末尾插入的尾随空格?
我相信在SQL中到处都会忽略尾随空格
不,他们不是。仅出于比较目的而忽略它们,仅此而已。因此,'mystring '
和'mystring'
将在条款WHERE 'mystring' = 'mystring '
中得到相同的对待。
但是,它们不是,但是在使用PATINDEX
之类的事情上。
请注意,LEN
函数中记录了尾随空格也会被忽略。 另一方面,DATALENGTH
包括它们。