2016-09-14 38 views
0

我正在为它使用sql开发Garry Mod(GLua)的银行系统。我想创建一个“利”,增加了一个百分比,每一个球员每一分钟: SQL查询是这个:设置地板/轮值sql值

UPDATE 
    darkrp_player 
SET 
    bank = bank * "..multiplier 

这是它返回运行在DBBrowser该查询时:

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

乘数变种是(利润/ 100)+ 1倍的利润是另一个变种

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

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

我的问题是:我如何设置楼层到我设置为'银行'的值?我能得到大家的“银行”值,并将其设置一个接一个,但是这将是真的很复杂......所以,我在找像

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

我很抱歉,如果你不明白有些事情,你可以问我与我的问题有关的任何事情,我很乐意回答你。谢谢!

+1

'地板()'作品。你试过了吗? –

+0

当然!我试过了:SET bank = floor(bank * multiplier) –

+0

它返回给我:没有这样的函数:floor:UPDATE darkrp_player SET bank = floor(bank * 1.25) –

回答

0

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

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

问题是我不想SELECT,我想SET –

+1

@AlexParedes - 这是一个例子 - 如果它有效,试试吧用它来设置。 – Hogan

+0

@AlexParedes UPDATE darkrp_player SET bank = CAST(CAST(bank *“.. multiplier AS as decimal)AS int) –

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

谢谢你的回答,但我什么也没有理解...... –