Sql server SQL Server 2014按长度和值筛选
我正在使用SQL Server 2014管理工作室 我需要一种方法来过滤掉表列中任意长度的值,例如,我想过滤掉任意长度的所有零 可以返回“0”或“00”或“000”等的select语句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>
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]%'