我有一个数据源,如下面的
如果我运行以下sql查询,它将删除所有记录" Seg Type" MOD并忽略给定的Fnn范围。
select * from NpsoQueue
where SegmentType not in ('MOD')
and Fnn not between 0888452158 and 0888452158
我希望查询考虑这两个条件。因此,如果我运行查询,它应该只删除第一条记录
答案 0 :(得分:3)
where
子句中的逻辑不正确
使用
select * from NpsoQueue
where NOT (
SegmentType = 'MOD'
and Fnn between '0888452158' and '0888452158'
)
此外,带前导零的数字是字符串文字,因此您需要在其周围放置单引号以保留前导零并停止隐式转换发生
如@TriV所述,您也可以使用OR
。这些是基本的布尔逻辑概念,即与SQL Server或数据库无关