Sql-Server
TSQL 查詢中奇怪的條件語法:“<=+”它有什麼作用?
我正在診斷 TSQL 中遺留查詢的問題。查詢中返回的列之一是:
CASE WHEN PaidDate >= '2021-01-01' AND PaidDate <=+'2021-10-31' THEN WO ELSE 0 END AS dYTDWO,
我以前沒有看到“<=+”作為條件,並且在網上找不到任何對此的參考。
任何人都可以對此提供解釋嗎?SSMS 對此非常滿意,並且查詢會執行。
謝謝。
TLDR:這可能是一個錯字1。
AND PaidDate <=+ '2021-10-31'
被解析為AND PaidDate <= (+'2021-10-31')
,並且一元加號不會改變任何東西,所以……我在推測,但這可能源於這裡(強調我的):
儘管一元加號可以出現在任何數值表達式之前,但它不會對從表達式返回的值執行任何操作
然後他們一定想到,一元加號無論如何對任何非數字數據類型都沒有意義,所以我們為什麼不把它完全變成一個無操作,而不是提出特定於數據類型的錯誤處理。
給你,一元加任何你想要的。
PS。
SELECT ++++6++++++++++++++++++++++++++++5
正確地返回 11,因為它只是SELECT (++++6)+(+++++++++++++++++++++++++++5)
, 與 . 相同SELECT 6+5
。1 - 注意“=”和“+”在同一個鍵上。