说明尾随空格在 SQL Server 中的位置和不被忽略的位置



我相信在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包括它们。

相关内容

  • 没有找到相关文章

最新更新