首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >因“空格”差异而对类似数据发出WHERE子句

因“空格”差异而对类似数据发出WHERE子句
EN

Stack Overflow用户
提问于 2019-12-12 03:20:31
回答 1查看 42关注 0票数 0

Upload_UI5_SRP Upload_UI5_SRP -此处使用的"Excel“和”上载“之间的空间是”正常空间“,其值为32。

鉴于

Upload_UI5_SRP Upload_UI5_SRP这里使用的"Excel“和”上载“之间的空间是”不可损坏的空间(Nbsp)“,其值为160个。

如何解决这一问题?

在上传数据时,是否有将“不可破坏空间(Nbsp)”转换为“正常空间”的解决方案?

在从数据库中获取数据时,是否有将“不可破坏空间(Nbsp)”转换为“正常空间”的解决方案?

注:没有期望的解决办法如下:

代码语言:javascript
运行
复制
WHERE CatalogName IN ('Excel Upload_UI5_SRP','Excel Upload_UI5_SRP')
WHERE CatalogName ='Excel Upload_UI5_SRP' OR CatalogName ='Excel Upload_UI5_SRP'
EN

回答 1

Stack Overflow用户

发布于 2019-12-12 03:31:06

一种非常天真的方法可能会考虑通过REPLACE()调用显式地替换输入/输出中的这些字符:

代码语言:javascript
运行
复制
-- Normalize both types of spaces
REPLACE(REPLACE(CatalogName, NCHAR(160), ' '), NCHAR(32), ' ')

如果您能够处理上游的转换(即当数据进入数据库时),则应该确保任何查询都将按预期工作,因为数据已经被净化了。

如果您正在接收这两种类型的空格(大概来自用户输入),您可能想要考虑编写一个自定义函数,该函数将显式地处理此场景以及将来需要进行的任何其他潜在的替换(例如单引号、双引号、其他不可打印字符),这样您就可以在向数据库写入时只使用类似Sanitize(@Input)之类的东西。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59297248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档