Sql-Server

TSQL 查詢中奇怪的條件語法:“<=+”它有什麼作用?

  • November 23, 2021

我正在診斷 TSQL 中遺留查詢的問題。查詢中返回的列之一是:

CASE WHEN PaidDate &gt;= '2021-01-01' AND PaidDate &lt;=+'2021-10-31' THEN WO ELSE 0 END AS dYTDWO, 

我以前沒有看到“<=+”作為條件,並且在網上找不到任何對此的參考。

任何人都可以對此提供解釋嗎?SSMS 對此非常滿意,並且查詢會執行。

謝謝。

TLDR:這可能是一個錯字1。

AND PaidDate &lt;=+ '2021-10-31'被解析為AND PaidDate &lt;= (+'2021-10-31'),並且一元加號不會改變任何東西,所以……

我在推測,但這可能源於這裡(強調我的):

儘管一元加號可以出現在任何數值表達式之前,但它不會對從表達式返回的值執行任何操作

然後他們一定想到,一元加號無論如何對任何非數字數據類型都沒有意義,所以我們為什麼不把它完全變成一個無操作,而不是提出特定於數據類型的錯誤處理。

給你,一元加任何你想要的。


PS。SELECT ++++6++++++++++++++++++++++++++++5正確地返回 11,因為它只是SELECT (++++6)+(+++++++++++++++++++++++++++5), 與 . 相同SELECT 6+5


1 - 注意“=”和“+”在同一個鍵上。

引用自:https://dba.stackexchange.com/questions/302989