2009-11-19 54 views

回答

2

不,沒有「優雅」的解決方案,恐怕。

此外,在WHERE子句中引入函數,無論是「native」還是CLR,都會阻止SQL使用索引來解析謂詞(除非其他謂詞能夠幫助,否則將不得不掃描整個表)部分)

有幾件事情需要注意:

  • 使用下劃線的可能是在這裏接受的,因爲有針對性的價值觀似乎遵循一個非常規律​​。但是,與LIKE一起使用時,下劃線本身就是一個通配符(對應於一個字符)。如果您確實需要指定下劃線,請將它們放在括號中「逃避」,例如,'abc[_]def'將與'abc_def'匹配,但不是'abcXdef'
  • 表達可以由一個比特更具選擇性,並用更短的東西等
 
    'testdb_20[0-9][0-9][0-1][0-9][0-3][0-9][_][0-9][0-9][0-9][0-9][0-9][0-9]' 

即,假定日期將在本世紀,並限制爲一天,而不是3×等更大

0

不,它不是可能。

順便說一句,你需要把你的下劃線放在括號內,因爲它意味着任何字符。

相關問題