我有一个包含以下信息的表格:
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# 从特定行获取信息,但我不知道如何检查整个表以查看数字是否在范围列之间。
最佳答案
如果范围值是 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
EDIT - CharIndex() option For Variable Ranges
Update @YourTable
Set Checked=Checked+1
Where 103 between left(Range,charindex('-',Range+'-')-1) and Right(Range,len(Range)-charindex('-',Range+'-'))
关于c# - 使用 SQL 和 C# 检查数字是否在某个范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43959105/