我想下面的查詢轉換INT至BIT
DECLARE @Input INT = 300
DECLARE @Ouput TINYINT
SET @Ouput = @Input
SELECT @Ouput
雖然執行上面的語句,我收到以下錯誤。對於數據類型TINYINT,值
算術溢出錯誤= 300
輸入值超過極限,所以顯示錯誤。
我嘗試另一個查詢
DECLARE @Input INT = 300
DECLARE @Ouput BIT
SET @Ouput = @Input
SELECT @Ouput
當我執行語句,我真的不知道,它不顯示任何錯誤。如果輸入值爲<> 0
(負值或正值),則輸出值始終爲1
。
爲什麼你需要轉換位爲INT瑪貝有一個其他的方式來解決你的問題。你可以切換行爲:'SELECT CONVERT(BIT,CASE @Input WHEN 1 THEN 1 ELSE 0 END)' – GOB
其實wats問題?我不能清楚地得到你的問題moto .. – sarathkumar
@sarathkumar爲什麼'> 1'值doesn' t顯示「BIT」數據類型轉換的任何錯誤?它背後的轉換功能是什麼?它與其他轉換(如INT到TINYINT)有何不同? – Jesuraja