Если формула в SQL

У меня есть фрагмент кода PHP, который каждый день создает интерес к системе кредитов. Код PHP, который вычисляет интерес, выглядит следующим образом (это из модификации форума SMF):

// Create some money out of nowhere. How? By magical means, of course!
$smcFunc['db_query']('', '
UPDATE {db_prefix}members
SET moneyBank = moneyBank + (moneyBank * {float:rate})',
array(
'rate' => $modSettings['shopInterest'] / 100,
));

Теперь, в другой части программного обеспечения я делаю {float: rate} равным 1%, и это означает, что каждый день кредиты в банке зарабатывают 1% или получают 1% годовых. Из того, что я могу сказать, нет предела этому, и поэтому, даже если у человека есть миллиард кредитов в банке форума, он все равно заработает 1%.

Я хотел бы ограничить интерес первыми 100 000. И я попытался сделать это так:

SET moneyBank = moneyBank + (100000 * {float:rate})',

Но, конечно, это заставляет каждого пользователя получать 1% от 100 000, даже если он имеет только 100 кредитов. Если бы это была формула Excel, я бы выглядел примерно так:

=if(moneyBank=>100000,100000*floatrate,moneyBank*floatrate)

то есть, если moneyBank больше 100000, флотация применяется только к первым 100000. Если moneyBank меньше 100000, применяют 1% -ную процентную ставку ко всей сумме MoneyBank.

Может кто-нибудь помочь мне сделать код PHP сделать это? Я действительно ценю это!

Спасибо!

0

Решение

... SET moneybank = moneybank + IF(moneybank > 100000, 100000*rate, moneybank*rate)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]