假设:
表的内容是:
ID ||描述
1 || “String1中”
2 || “String2的”
3 || “String3”
如果我执行以下SQL查询:
“SELECT ID FROM tA WHERE Description ='String2'”它返回2(如预期的那样)
但是:
如果我执行以下SQL查询:
“SELECT ID FROM tA WHERE Description ='String2'”(尾随withespaces)它也返回2! (因为它是一个精确的比较,它应该返回NONE)
如果我执行以下SQL查询:
“SELECT ID FROM tA WHERE Description ='String2'”(领先的文本空间)它返回NONE(如预期的那样)
你知道这种行为差异的原因是什么吗?
提前致谢。
答案 0 :(得分:1)
您需要使用"%EXACT"围绕您的列名称。这应该不返回任何记录:" SELECT ID FROM tA WHERE%EXACT(Description)=' String2'"