2017-06-12 73 views
0

我正在使用SQL Server 2014 Management Studio。按長度和值篩選SQL Server 2014

我需要一種方法來過濾掉任何長度的表列中的值,例如我想過濾掉任何長度的所有零。

一個可以返回'0'或'00'或'000'的select語句,依此類推。

SELECT * 
FROM <my_table> 
WHERE <my_column> LIKE <condition> 

返回

0 
00 
000 
etc 
+0

那些包含非零字符的列怎麼樣?a00或00a怎麼樣? –

回答

0

用於過濾的特定情況下由一個重複字符:

WHERE <my_column> LIKE '%0%' AND <my_column> NOT LIKE '%[^0]%' 

即,列必須包含至少一個零並且不能包含非零點在任何地方。

對於更復雜的圖案,LIKE趨於快速分解。

+1

在這種情況下,第一個字符也是'0'。您可以將第一個條件更改爲'LIKE'0%''並將表掃描轉換爲索引查找。 –