为什么这些字符串在MySQL中不相同但在SQL Server中是等效的?

时间:2014-06-05 12:55:25

标签: mysql sql-server

我正在尝试使用供应商的转换工具将应用程序数据库从MySQL迁移到SQL Server。当我这样做时,我得到一个唯一的约束违规错误,表明我试图在SQL Server表的一列中写两次值(“Canon Inc.”)。

我登录了实时系统(MySQL)并运行了下面的查询,显示了其结果(零记录)。这告诉我MySQL没有看到列包含重复值的任何记录。

Screenshot showing no duplicate values in NAME column of SoftwareManufacturer table

但是,当我更普遍地搜索佳能公司时,我确实找到了两条记录。但是,当我检查角色&字符串的位长,它们显然不是完全相同,如下所示:

Screenshot showing two records for Canon Inc. with different bit and character lengths

这两个字符串之间有什么区别?我有办法清理它吗?

1 个答案:

答案 0 :(得分:0)

我的猜测是你在第二个佳能公司有一个尾随空间。这会导致字符长度比另一个更长,我敢打赌SQL Server忽略了尾随空格。