簡體   English   中英

為什么這些字符串在MySQL中不等效但在SQL Server中等效?

[英]Why are these strings not equivalent in MySQL but equivalent in SQL Server?

我正在嘗試使用供應商的轉換工具將應用程序數據庫從MySQL遷移到SQL Server。 當我這樣做時,我得到一個唯一的違反約束的錯誤,該錯誤表明我試圖在SQL Server表的一列中兩次寫入一個值(“ Canon Inc.”)。

我登錄了實時系統(MySQL),然后運行以下查詢,並顯示了查詢結果(零記錄)。 這告訴我MySQL在列包含重復值的地方看不到任何記錄。

屏幕快照顯示SoftwareManufacturer表的NAME列中沒有重復的值

但是,當我更廣泛地搜索佳能公司時,的確確實找到了兩條記錄。 但是,當我檢查字符串的字符和位長時,它們顯然並不完全相同 ,如下所示:

屏幕截圖顯示了佳能公司的兩條記錄,具有不同的位和字符長度

這兩個字符串之間有什么區別? 我有辦法清理嗎?

我的猜測是您在第二個佳能公司上有一個尾隨的空格。 這將導致字符長度比其他字符長一倍,我敢打賭,SQL Server忽略了尾隨空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM