2016-11-21 26 views
1

嗨,我使用SQL DB2,並試圖找到一列中,與F25開始的所有值與不包含..如何使用wilcard的sql字符數組?

因此,任何字符,例如允許

F2501 
F25AB 
F25ab 
F25A. 

我下面結束想象我可以這樣做:

where col like 'F25[!..]' 

然而,這reutrns沒有行,我知道這樣的代碼,即F25AB存在。

我在做什麼錯在這裏?

+0

必須使用'不包含()'或'位置()' – Hogan

+0

您可以使用'where col like'F25%'and right(col,2)<>''' –

回答

2

[!都不是SQL中的通配符。

通配符了SQL LIKE載體是%對於任何數量的字符和用於_單個字符。

做你想做什麼,可以使用

where col LIKE 'F25%' -- starts with F25 
    and col NOT LIKE '%..' -- does not end with .. 
+0

hmm w3schools提到charlists as一種通配符? http://www.w3schools.com/sql/sql_wildcards.asp – brucezepplin

+0

我不知道'locate_in_string(col,'..', - 1)<>長度(col)-2'比NOT LIKE要快嗎 – Hogan

+0

@brucezepplin:已知w3fools充滿錯誤。 –

0

通過使用XQuery嘗試正規表示法。或者,如果您使用db2 luw 11.1,則可以直接使用SQL中的常規expresión函數。

相關問題