Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2014按长度和值筛选_Sql Server_Filtering - Fatal编程技术网

Sql server SQL Server 2014按长度和值筛选

Sql server SQL Server 2014按长度和值筛选,sql-server,filtering,Sql Server,Filtering,我正在使用SQL Server 2014管理工作室 我需要一种方法来过滤掉表列中任意长度的值,例如,我想过滤掉任意长度的所有零 可以返回“0”或“00”或“000”等的select语句 SELECT * FROM <my_table> WHERE <my_column> LIKE <condition> 对于通过一个重复字符进行过滤的特定情况: WHERE <my_column> LIKE '%0%' AND <my_column>

我正在使用SQL Server 2014管理工作室

我需要一种方法来过滤掉表列中任意长度的值,例如,我想过滤掉任意长度的所有零

可以返回“0”或“00”或“000”等的select语句

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

对于通过一个重复字符进行过滤的特定情况:

WHERE <my_column> LIKE '%0%' AND <my_column> NOT LIKE '%[^0]%'
其中类似“%0%”而不类似“[^0]”
也就是说,该列必须至少包含一个零,并且任何地方都不能包含非零


对于更复杂的模式,
LIKE
倾向于快速分解。

在这种情况下,第一个字符也是
0
。您可以将第一个条件更改为
,如“0%”
,并将表扫描转换为索引搜索。包含非零字符的列如何>关于
a00
00a
如何?
WHERE <my_column> LIKE '%0%' AND <my_column> NOT LIKE '%[^0]%'