Я не могу прокомментировать ответ, который дал Джеймс Дэниелс, но я думаю, что это очень важно прочитать.
Выдача подписанного URL-адреса. Как и во многих случаях, это довольно плохо и возможно опасно. Согласно документации Firebase, подписанный URL-адрес истекает через некоторое время, поэтому добавление этого к вашей базе данных приведет к пустым URL-адресам после определенного таймфрейма
Возможно, это неправильно понимает Документацию там, и подписанный url doesn истекает, что приведет к некоторым проблемам безопасности. Кажется, что ключ для каждого загруженного файла одинаковый. Это означает, что как только вы получите URL-адрес одного файла, кто-то может легко получить доступ к файлам, к которым он не предназначен для доступа, просто зная их имена.
Если я не понял, что тогда я буду исправлять lvoe. Кроме того, кто-то должен, вероятно, обновить вышеупомянутое решение. Если я ошибаюсь,
Это даст результат между 0 и n - 1 как для положительных, так и для отрицательных значений x:
((x % n) + n) % n
Смело быть скучным (и поздно к партии).
declare @Modulus as Int = 7
declare @Samples as Table ( Value Int )
insert into @Samples ( Value ) values ( -12 ), ( -3 ), ( 0 ), ( 3 ), ( 13 ), ( 70 )
select Value,
case Sign( Value )
when 1 then Value % @Modulus
when -1 then Value % @Modulus + @Modulus
else 0
end as Modulus
from @Samples
Ну, модульная арифметика выполняется на классах эквивалентности целых чисел, поэтому ни Excel, ни какая-либо СУБД не выполняет %
неправильно ». Если вам нужен представитель между 0 и 6, вы всегда можете сделать
select (-3 % 7) + 7;