Sql-Server

如何查找導致“轉換失敗”錯誤的列

  • December 8, 2020

我遇到了很多問題,特別是在轉換錯誤方面: convert(datetime, [fieldname])SELECT CAST([field2] AS int).

想像一下具有 30 多個轉換或強制轉換函式的大型 select 語句,或具有轉換的複雜視圖,甚至是在數據類型錯誤的欄位上的插入語句。試圖一一排除欄位以找到麻煩製造者,我感到非常頭疼。

有沒有辦法找出導致問題的欄位和/或值?人們如何在不必經歷逐個領域的艱鉅過程的情況下解決這些問題?是否有可以提供幫助的日誌或資訊消息?

人們如何在不必經歷逐個領域的艱鉅過程的情況下解決這些問題?

排除其中的一半。如果錯誤仍然存在,則排除剩餘的一半。重複。

嗯聽起來問題更多的是你的過程。SQL Server 錯誤日誌可以在 SQL Server 實例的安裝文件夾下的一個名為“Log”的文件夾下找到,但它通常不包含您遇到的問題類型,或者當它不包含時特別有幫助。

如果您能夠在 SQL Server Management Studio 中執行查詢,通常如果發生語法或邏輯錯誤,您可以點兩下錯誤消息本身,並且很多時候它會將您帶到問題的正確行(雖然並非總是如此,但不幸的是它並不完美)。

您也可以在 SSMS 中使用調試器,這在某些情況下很有幫助。

如果您經常遇到特定類型的錯誤,我可以給您更好的具體建議。

引用自:https://dba.stackexchange.com/questions/280968