繁体   English   中英

使用SQL和C#检查数字是否在范围之间

[英]Check if a number is between a range using SQL & C#

我有一个包含以下信息的表:

ID   Name                  Range          Checked
1    Jennifer             000-100           0
2    Louis                101-200           0
3    Michael              201-300           0

范围是他们拥有的票证数量,选中的列是已使用的票证数量。

我想做的是在使用票证时在“已检查”列中添加+1,因此我想检查票证所属的位置。 我的意思是,如果我使用票证编号103,我想在行号2的检查列中添加1。以此类推,如果我使用更多票证,则依此类推。

ID   Name                  Range          Checked
1    Jennifer             000-100           0
2    Louis                101-200           1
3    Michael              201-300           0

那么,有没有办法检查我提交的票证是否在上述范围之一之间?

PD .:我知道如何在SQL中检查数字是否在两个数字之间,而且我也知道如何使用C#从特定行中获取信息,我不知道怎么做是检查整个表以查看如果数字在ranges列之间。

如果范围值是3位数字,则left()和right()可以完成技巧而不必找到破折号。

Update YourTable 
   Set Checked=Checked+1
 Where 103 between left(Range,3) and Right(Range,3)

Select * from YourTable

结果

ID  Name        Range     Checked
1   Jennifer    000-100   0
2   Louis       101-200   1
3   Michael     201-300   0

编辑-可变范围的CharIndex()选项

Update @YourTable 
   Set Checked=Checked+1
 Where 103 between left(Range,charindex('-',Range+'-')-1) and Right(Range,len(Range)-charindex('-',Range+'-'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM