你好我有下表。
我给了这个查询
SELECT * FROM Charges where AmountFrom < 50 and AmountTo > 50
它给了第一张唱片。
当我提出查询时
SELECT * FROM Charges where AmountFrom < 5000 and AmountTo > 5000
我的金额是验证5000美元并获得5000的充电值
它应该给我第一个记录太对了?
答案 0 :(得分:1)
要获得金额为5000
的第一条记录,您应该使用greater than & equal to operator ">="
,您可以像这样使用:
SELECT * FROM Charges where AmountFrom < 5000 and AmountTo >= 5000
如果您使用的是sql server,那么您可以通过使用您的金额变量来实现结果:
declare @Amount money
set @Amount = 5000
SELECT ChargeValues FROM Charges where AmountFrom <= @Amount and AmountTo >= @Amount
答案 1 :(得分:1)
你需要这样做
SELECT * FROM Charges where AmountFrom <= 5000 and AmountTo >= 5000
比你获得第一张唱片。因为第一记录的AmountTo值是5000.
如果你AmountTo >5000
它会记录哪个值大于5000而不记录哪个值为5000。
或尝试
SELECT * FROM Charges where AmountFrom < 5000 and AmountTo > 4999
答案 2 :(得分:1)
使用
SELECT * FROM Charges where AmountFrom < 5000 and AmountTo > 5000
您正在寻找以小于5000的值开头的条目,并以大于此值的值结束。没有这样的记录。您更愿意包含值:
select * from charges where amountfrom <= 5000 and amountto >= 5000
或只是
select * from charges where 5000 between amountfrom and amountto
(BETWEEN
包含搜索中的from和to值。)