在Microsoft SQL中使用「不喜歡」而沒有任何%符號並使用不等號運算符<>是否有任何實際區別?例如:Microsoft SQL'不喜歡'vs <>
if exists (select * from table_name where column_name not like @myvariable)
或
if exists (select * from table_name where column_name not like 'myvalue')
與
if exists (select * from table_name where column_name <> @myvariable)
或
if exists (select * from table_name where column_name <> 'myvalue')
我發現我一直在使用不喜歡的習慣(它的速度更快輸入閱讀我自己的代碼時感覺更直觀)和我想知道是否有可能會導致不同於不平等的行爲。我在其他問題中讀到'like'比'equals'慢,但我更關心比較的結果。 進行比較時,我幾乎總是使用varchar數據類型。
謝謝,但我想知道具體是否有任何區別時,**沒有**通配符被使用。 – 2013-04-30 17:56:08
是的,一個像必須評估通配符的字符串。在檢查它們之前,它不知道沒有通配符。如果沒有通配符,那麼從我所看到的將它視爲<>。 – Paparazzi 2013-04-30 17:59:57
我想我會試圖打破我的(壞)習慣,以避免sl sl。 – 2013-05-02 18:10:27