sql-server - 解释 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 '
and'mystring'
将在子句中被同样对待WHERE 'mystring' = 'mystring '
。
但是,它们不是在使用PATINDEX
.
请注意,LEN
函数中记录了尾随空格也被忽略。DATALENGTH
另一方面,包括他们。
推荐阅读
- vba - 我可以使用宏在 Google Docs 中添加一个按部分统计项目符号的实时计数器吗?
- python-3.x - 尝试连接数据库 MongoDB 时,Docker 容器返回 Connection denied
- javascript - Next.js 中动态导入模块的单例对象
- android - 堆栈在列内不起作用 - 颤振
- reactjs - 在 hooks setState 之后执行下一行代码的后果是什么?
- .net-core - dotnet test 命令显示单个测试运行时间?
- c# - 如何在 C# 中使用 XPath 包含
- google-cloud-platform - 将 GCP 项目迁移到组织中的影响
- sql-server - 从季节性因素和年度数据创建月度数据
- docker - 在 docker-compose 文件中访问 env 文件变量