BUG #: 100900 (SQLBUG_70)

當 varchar 欄位轉換成 varbinary,然後在關聯性子查詢內執行比較時,傳回錯誤的結果。


例如,下面查詢集將示範此問題:


CREATE TABLE #tblIDs(TestID int, Code varchar(1))
CREATE TABLE #tblValues(Code varchar(1))

INSERT INTO #tblIDs(TestID, Code) VALUES(1,'a')
INSERT INTO #tblIDs(TestID, Code) VALUES(2,'A')

INSERT INTO #tblValues(Code) VALUES('a')
INSERT INTO #tblValues(Code) VALUES('A')


--The result for the following query should be two records, with the values 1 and 2.
SELECT #tblValues.Code AS TestCode, (SELECT #tblIDs.TestID
FROM #tblIDs
WHERE CAST(#tblIDs.Code AS varbinary) = CAST(#tblValues.Code AS varbinary)
) AS TestID
FROM #tblValues

DROP TABLE #tblIDs
DROP TABLE #tblValues
GO

徵狀


您現在可以從 Microsoft 取得支援的修正檔,但此修正檔只是用來修正本文所述之問題,應該只能在發生此特定問題的系統上套用修正檔。將來可能還會對此修正檔執行其他測試,以進一步確認產品品質。因此,如果此問題沒有對您造成嚴重影響,Microsoft 建議您等候下一版會包含此修正檔的 SQL Server Service Pack。

若要立即解決此問題,請洽詢 Microsoft 產品支援服務以取得此修正檔。若需 Microsoft 產品支援服務電話號碼的完整清單,以及有關支援費用的資訊,請連至下面全球資訊網網址:

http://support.microsoft.com/directory/overview.asp
注意:在特殊情況中,如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題,可能就不會收取一般因支援電話所產生的費用。如果有其他支援問題是所述的特定更新程式無法解決的,一般才會收取支援費用。


此修正檔的英文版本應該具有下面檔案屬性:

日期 時間 版本 大小 檔名 平台
---------------------------------------------------------
7.00.919
7.00.919 注意:
因為檔案有相依性,最新的 Hotfix 或包含上述檔案的功能也可能會包含其他檔案。


解決方案

如果資料行是定義為 varbinary,並且直接將值拿來比較,那麼問題就不會被注意到。


其他可行方案


Microsoft 已確認 SQL Server 7.0 確實有上述問題。


狀況說明

本文件是根據 Microsoft Knowledgebase 文件編號 Q280789 翻譯的. 若要參考原始英文文件內容, 請至以下網址:


http://support.microsoft.com/support/kb/articles/Q280/7/89.asp

参考

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×