2016-09-14 3 views
0

Я разрабатываю банковскую систему для Garry's Mod (GLua), используя sql для нее. Я хочу, чтобы создать «прибыль», которая добавляет процент к каждому игроку каждую минуту: SQL-запрос это один:Установить значение floor/round value 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

Если нет функции ПОЛ на этом встроенный сервер, попробуйте следующее:

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

Проблема в том, что я не хочу SELECT, я хочу установить –

+1

@AlexParedes - это пример - попробуйте, если он работает, используйте его в наборе , – Hogan

+0

@AlexParedes UPDATE darkrp_player SET bank = CAST (CAST (банк * ".. мультипликатор AS десятичный) 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

Спасибо, что ответили, но я ничего не понял ... –