嗨,我使用SQL DB2,並試圖找到一列中,與F25
開始的所有值與不包含..
如何使用wilcard的sql字符數組?
因此,任何字符,例如允許
F2501
F25AB
F25ab
F25A.
我下面結束想象我可以這樣做:
where col like 'F25[!..]'
然而,這reutrns沒有行,我知道這樣的代碼,即F25AB
存在。
我在做什麼錯在這裏?
嗨,我使用SQL DB2,並試圖找到一列中,與F25
開始的所有值與不包含..
如何使用wilcard的sql字符數組?
因此,任何字符,例如允許
F2501
F25AB
F25ab
F25A.
我下面結束想象我可以這樣做:
where col like 'F25[!..]'
然而,這reutrns沒有行,我知道這樣的代碼,即F25AB
存在。
我在做什麼錯在這裏?
[
和!
都不是SQL中的通配符。
的僅通配符了SQL LIKE
載體是%
對於任何數量的字符和用於_
單個字符。
做你想做什麼,可以使用
where col LIKE 'F25%' -- starts with F25
and col NOT LIKE '%..' -- does not end with ..
hmm w3schools提到charlists as一種通配符? http://www.w3schools.com/sql/sql_wildcards.asp – brucezepplin
我不知道'locate_in_string(col,'..', - 1)<>長度(col)-2'比NOT LIKE要快嗎 – Hogan
@brucezepplin:已知w3fools充滿錯誤。 –
通過使用XQuery嘗試正規表示法。或者,如果您使用db2 luw 11.1,則可以直接使用SQL中的常規expresión函數。
必須使用'不包含()'或'位置()' – Hogan
您可以使用'where col like'F25%'and right(col,2)<>''' –