设置floor/round值sql值

Set floor/round value sql value

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

UPDATE 
     darkrp_player 
SET 
     bank = bank * "..multiplier

这就是 returns 在 DBBrowser 上 运行 查询时的结果:

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

multiplier var is (profit/100) + 1 profit is another var

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

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

我的问题是:如何将 floor 设置为我设置为 'bank' 的值?我可以获取每个人的 'bank' 值并一一设置,但这真的非常复杂......所以,我看起来像

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

对不起,如果你有什么不明白的地方,你可以问我任何与我的问题相关的问题,我很乐意回答你。谢谢!

--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

如果内置服务器上没有 FLOOR 功能,试试这个:

SELECT CAST('67.896' AS int),  CAST('5.57' AS int)