我意识到我的SQL数据库中有一些记录中有一些额外的空格,但我不确定哪些记录有这个额外的空格。我正在尝试查找哪些记录是相同的,但我正在使用的语句如果它们在末尾有额外的空格则不会区分记录。
目前我正在使用以下SQL语句来检查记录是否相同:
SELECT * FROM TABLE WHERE NAME='TEST ';
这将返回名为“TEST”的记录。如何找到名称为“TEST”的记录?
答案 0 :(得分:0)
由于数据库处理空间的方式,这可能很棘手。如果您不想处理不同情况(LIKE
行为方式相同吗?可以regexp
处理此问题),那么您可以这样做:
WHERE CONCAT(NAME, 'x') = 'TEST x';
请注意,如果查询能够使用NAME
上的索引,则可能会影响性能。
答案 1 :(得分:0)
如果你有一个包含多行相似数据的表,但是随机空白区和其他垃圾堆放在你周围,你想查看你拥有的每个特定奇数数据的数量,你可以进行分组有计数。
SELECT Name
,Last Name
,Count(*)
FROM table
GROUP BY NAME
,LAST NAME
这应该显示所有结果,其中每个结果旁边有多少。
IE:JOHN SMITH 2
JACK SMITH 1
答案 2 :(得分:0)
你可以试试这个
SELECT * FROM TABLE WHERE TRIM(NAME)='TEST';
答案 3 :(得分:0)
如何找到名称为“TEST”的记录?
一种方法是:
select * from mytable
WHERE NAME='TEST ' and length(NAME) = length('TEST ');