對待一個錯誤,我注意到,SQL Server 2000中執行完整的數據類型和字符串之間的隱式轉換,即使沒有警告。因此,下面的查詢:隱式轉換
SELECT LEFT(123456789, '3')
返回字符串123
。
這是在SQL Server 2000中的錯誤(功能)? T-SQL的功能?還是SQL本身的一個特性?
對待一個錯誤,我注意到,SQL Server 2000中執行完整的數據類型和字符串之間的隱式轉換,即使沒有警告。因此,下面的查詢:隱式轉換
SELECT LEFT(123456789, '3')
返回字符串123
。
這是在SQL Server 2000中的錯誤(功能)? T-SQL的功能?還是SQL本身的一個特性?
一個character_expression
是字符或 二進制數據的一種表現。 character_expression可以是常量,變量或 列。 character_expression可以是任何數據類型,但text或 ntext可以隱式轉換爲varchar或nvarchar。 否則,使用CAST函數顯式轉換 一個character_expression。
integer_expression
是一個正整數,指定 的一個character_expression的衆多人物怎麼會被退回。
該文檔的Data Type Conversion頁面清楚地顯示哪些對類型可以隱式轉換之間。 int
和varchar
之間的轉換是在兩個方向上隱。
所以我們談論的功能,而不是錯誤;我會說T-SQL而不是SQL,因爲我猜測標準不會談論這樣的事情。但這只是一個猜測。
你是正確的。感謝您的回答,請原諒我懶惰查看文檔。 – rucamzu