只是想知道我 同事對我說,不要用columnName=''
改用Len(columnName)==0
我爲什麼要使用萊恩(列名),而不是列名=「」(SQL Server 2008中)
這發生了,當我查詢的東西,我希望表格中的值爲空或空的所有列。
對空字符串使用len I/o測試有沒有好處?我看不到任何東西。
謝謝
只是想知道我 同事對我說,不要用columnName=''
改用Len(columnName)==0
我爲什麼要使用萊恩(列名),而不是列名=「」(SQL Server 2008中)
這發生了,當我查詢的東西,我希望表格中的值爲空或空的所有列。
對空字符串使用len I/o測試有沒有好處?我看不到任何東西。
謝謝
通常情況下,您不希望在函數調用中包裝列,因爲這是不可糾正的,並且意味着無法使用索引和列統計信息。可能的重複[檢查長度是否比查詢空字符串更快?](http://stackoverflow.com/questions/3350959/is-it-faster-to-check-if-length- 0比它比較它的一個空字符串) –
@Martin Smith看起來'Len' *可能* sargable雖然...如果它被選爲實現這樣的優化(所有具有相同長度的字符串在索引中是連續的),因此可以將其轉換爲(名稱>「AAA」和名稱<「ZZZ」)的意圖等價物。我不知道是否應用了這樣的優化,或者索引(如果有的話)的實際性能影響是什麼,只是一個沉思。 – 2011-09-10 07:52:00
@pst所有長度相同的字符串在索引中都不是連續的,它們按照排序規則按照字典順序排列? –