我發現一個SQLServer數據庫存儲過程是這樣的:=(T)SQL中的意思是什麼?
SELECT stuff
FROM mytable
WHERE mytable.column = + @parameter
它似乎運行沒有錯誤,所以我想這沒關係。 「+」會做什麼?
(這並不奇怪,這是一個棘手的問題,以有效地搜索,所以我提前道歉,如果這是一個重複。)
我發現一個SQLServer數據庫存儲過程是這樣的:=(T)SQL中的意思是什麼?
SELECT stuff
FROM mytable
WHERE mytable.column = + @parameter
它似乎運行沒有錯誤,所以我想這沒關係。 「+」會做什麼?
(這並不奇怪,這是一個棘手的問題,以有效地搜索,所以我提前道歉,如果這是一個重複。)
一元+
沒有做在T-SQL什麼。
也許寫它的人看到了[email protected]rameter
並刪除了0
以「優化它」。如果@parameter
不是數字,則[email protected]
會生成錯誤,而一元+
不會執行任何操作。
+
是-
相反,其改變的跡象。
它什麼也沒做。
如果@paramater是一個unsigned tinyint,它會將它轉換爲smallint。我在我的答案中有MS的鏈接。 – 2009-11-03 16:47:26
什麼類型是@parameter
?這可能只是一個加號,(與減號相反)。對於數字類型,這不起作用。
這是一個字符(20)...但它在任何情況下都可以看到一個整數值......所以也許它只是自動轉換它,並允許單值加號。 – Beska 2009-11-03 16:41:53
它看起來像是將參數轉換爲數字類型的簡短符號。根據您的數據庫服務器,可能甚至不需要它。
返回 數值_表達式的數據類型,不同之處在於無符號 TINYINT表達 被提升爲SMALLINT結果。
刪除+,它沒有任何用處。 – 2009-11-03 16:41:33