首页 > 解决方案 > 当列在位置 2 中包含 1 时排除行而不使用函数

问题描述

我有一列总是 5 位长,每个数字总是 1 或 0。当第二个位置等于 1 时,我需要在 where 子句中排除。例如,要排除 01000但要保留 10010。我目前有:

WHERE (SUBSTRING(field, 2, 1) <> '1') or field IS NULL

如何在不使用 Substring 函数的情况下做到这一点?

编辑:此外,该列是数据库中的 varchar(10) 。这有关系吗?

标签: sqlsql-server-2012

解决方案


您可以使用like运算符直接检查该字符:

WHERE field LIKE '_1%' OR field IS NULL

推荐阅读