如何检查SQL记录是否相同,包括空格?

时间:2017-08-04 19:16:09

标签: mysql sql

我意识到我的SQL数据库中有一些记录中有一些额外的空格,但我不确定哪些记录有这个额外的空格。我正在尝试查找哪些记录是相同的,但我正在使用的语句如果它们在末尾有额外的空格则不会区分记录。

目前我正在使用以下SQL语句来检查记录是否相同:

SELECT * FROM TABLE WHERE NAME='TEST ';

这将返回名为“TEST”的记录。如何找到名称为“TEST”的记录?

4 个答案:

答案 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 ');