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)

乗数変数は (利益/100) + 1 利益は別の変数です

したがって、私の問題は、そのクエリを実行するたびに、すべての銀行の行が小数でいっぱいになることです。例:

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

私の質問は次のとおりです。「バンク」に設定している値にフロアを設定するにはどうすればよいですか? 全員の「銀行」の値を取得して 1 つずつ設定することもできますが、それは非常に複雑です。

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

何かわからないことがありましたら申し訳ありません。私の問題に関連することは何でもお尋ねください。喜んでお答えします。ありがとう!

4

2 に答える 2

-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 に答える