这听起来很愚蠢,但我有一个带有名字的表,这些名字可能以白色空格结束或者可能没有。例如。我的名字为' dummy '
,但即使在查询中我只写' dummy'
,它也会找到记录' dummy '
。我能以某种方式解决它吗?
SELECT *
FROM MYTABLE where NAME=' dummy'
由于
答案 0 :(得分:1)
这就是SQL的工作原理(除了Oracle),当你比较两个字符串时,较短的字符串将用空格填充到第二个字符串的长度。
如果你真的需要考虑跟踪空白,你可以切换到不符合该规则的LIKE:
SELECT *
FROM MYTABLE where NAME LIKE ' dummy'
当然,您最好在加载过程中清理数据。
只有一件事比尾随空格更糟糕,领先的空间(哦,等一下,你也得到它们)。