這非常簡單。 SQL SERVER 2008
會自動將值轉換爲字符串嗎?數字在sql中看作字符串
我試過這個Select * from Staff Where Division = 5
如果我嘗試插入它,它也可以。
如果我改變5五我得到和錯誤雖然。 Invalid column name five
。
分部是NVARCHAR
。不應該在單引號內?
這非常簡單。 SQL SERVER 2008
會自動將值轉換爲字符串嗎?數字在sql中看作字符串
我試過這個Select * from Staff Where Division = 5
如果我嘗試插入它,它也可以。
如果我改變5五我得到和錯誤雖然。 Invalid column name five
。
分部是NVARCHAR
。不應該在單引號內?
是的,SQL Server將int隱式轉換爲nvarchar。它也可以隱式地將nvarchar轉換爲int(和其他數字類型)。
有關詳細信息:http://msdn.microsoft.com/en-us/library/ms191530.aspx
有很多的情況下,其中的隱式轉換髮生。例如:
EXEC sp_who2 active;
您是否需要將active
作爲字符串分隔?是的,但語法是寬容的。
我的建議:始終正確分隔數據類型,並忽略異常。他們得到全面修復的機率幾乎爲零。
非常感謝我,雖然我瘋了 – phadaphunk 2012-08-03 16:03:01
@Pha ....是的,它需要單引號。如果不是,則會收到錯誤... Msg 245,Level 16,State 1,Line 1 將nvarchar值'(None)'轉換爲數據類型int時轉換失敗。 – MikeTWebb 2012-08-03 15:54:30
@MikeTWebb我擁有它就在我面前。它完美地工作。也許我應該截圖? – phadaphunk 2012-08-03 15:59:51