0

我正在使用 sql 为 Garry's Mod (GLua) 开发银行系统。我想创建一个“利润”,每分钟为每个玩家增加一个百分比: sql 查询是这个:

UPDATE 
     darkrp_player 
SET 
     bank = bank * "..multiplier

这是在 DBBrowser 上运行该查询时返回的内容:

no such function: floor: UPDATE darkrp_player SET bank = floor(bank * 1.25)

乘数 var 是 (利润/100) + 1 利润是另一个 var

所以我的问题是,每次我运行该查询时,每个银行行都充满了小数,例如:

profit = 25
--before query:
'bank' = 2
--after query:
'bank' = 2.5

我的问题是:如何将下限设置为我设置为“银行”的值?我可以得到每个人的“银行”价值并一个一个地设置它,但这真的很复杂......所以,我看起来像

UPDATE 
     darkrp_player 
SET 
     bank = floor(bank * "..multiplier..")"

很抱歉,如果您有什么不明白的地方,您可以问我任何与我的问题有关的问题,我很乐意为您解答。谢谢!

4

2 回答 2

0

如果该内置服务器上没有 FLOOR 功能,请尝试以下操作:

SELECT CAST('67.896' AS int),  CAST('5.57' AS int)
于 2016-09-14T18:40:51.497 回答
-2
--declaring variable table for example
declare @x table (value real)

--inserting some dummy values in variable table
insert into @x (value)
select '12.45'
union
select '56.789'

select * from @x

--updating variable table values using floor function
--floor function Returns the largest integer less than or equal to the specified numeric expression
update @x set value = floor(value)

select * from @x
于 2016-09-14T18:35:03.277 回答