Re: [SQL ] 一句TSQL很像是Bug的更新語法

看板Database作者 (TeemingVoid)時間10年前 (2014/01/16 15:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《forkome (初心者)》之銘言: : 各位大大好 : 最近小弟在Trouble Shooting時看到一句SQL,所使用的語言是C# + MS SQL : Update Table set Column1 = Column1 + 1 Where Column2 = +@Param : Cmd.Parameters.Add.......(@param) : 我以為這句不會執行會掛 : 但Column2 =+@Param 居然不影響執行結果,請問+號對MS SQL來說 : 有什麼特殊用法嗎?還是單純的不嚴謹沒有被Compile抓出來而已? 其實沒什麼特別的,加法符號當成 Unary Operator 時,單純就是「不作用」而已。 根據官方手冊 http://ppt.cc/Nskb 這一頁 Remarks 指出的注意事項: Although a unary plus can appear before any numeric expression, it performs no operation on the value returned from the expression. Specifically, ... 也就是說,加號可以用作二元運算字進行數學加法(@x + @y) 可以進行複合 運算(set @x += @n),但是當成單元運算子時,對於運算式的值則不進行任 何操作(performs no operation)。 所以,寫不寫 + 號,以您的例子來說,都沒有影響。 ^_^ 就好像一般我們都只寫 3 而不會特別寫 +3。 :p -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.96.94

02/06 08:36, , 1F
原來如此,感謝回覆 <_O_>
02/06 08:36, 1F
文章代碼(AID): #1IruwCRi (Database)
文章代碼(AID): #1IruwCRi (Database)