Тут надо не формулу искать, а использовать правильный тип данных. В общем случае - дробный (но этот тип, по-моему, нигде не реализован как встроенный). Или хотя бы какой-нибудь денежный, но никак не тип с плавающей точкой.
Какие именно есть типы в Go, я не в курсе...
Глубоко плевать, что написано на клиентской стороне в синтаксисе фреймворка. Всё зависит от того, в какой SQL-запрос это превратится, что именно получит сервер БД от клиентского приложения.
А потому включаете General Log, смотрите, что было спрошено с сервера БД, смотрите план выполнения для соотв. запросов - и только тогда можно говорить что-то осмысленное.
Миникомпьютер, полностью настроенный, и с настроенным RDP к нему.
Оторвать демокомп от имеющейся сети, подключить к миникомпу (а если у него есть вторая сетевая - и этого не нужно... более того, можно с собой привезти USB сетевушку), 30 секунд на загрузку миникомпа, пока настраивается IP демокомпа и вводятся логин-пароль RDP к миникомпу. Всё, демонстрируй...
B на всякий случай - в кармане копия M2 от миникомпа.
Ну вот лежит у меня вот прям сейчас вирус на разделе для личного использования (в обоих смыслах). Лежит, есть-пить не просит, ничего не заражает... я ж не идиот, и его не запускаю!
Это PHP-код, который формирует текст запроса. И исполняет его.
Код, кстати, кривой. Даже если он обычно формирует текст запроса, который выполняется без ошибок, это не абсолютно - при некоторых значениях конкатенируемых в него параметров получится текст с синтаксическими ошибками. Впрочем, в данном конкретном случае спасает то, что все значения явно приводятся к целому числу, так что ошибка при неудачном значении параметра возникнет ещё на этапе его сборки.
А ещё непонятно, с какого перепугу LEFT JOIN, если последующие условия отбора всё равно превратят их в INNER JOIN.
Ты правда думаешь, что защитный файл и токен - они для красоты? Нет, они как раз для идентификации и аутентификации. Это как минимум. А ещё есть логи маршрутизирующего оборудования...
Короче, при правильно построенной системе (а судя по описанию, её не дураки строили) - вообще без шансов. Ну разве только что цель мероприятия - огрести себе проблем на нижние 90...
chemdev, если через запятую, то CASE, завёрнутые в CONCAT_WS. А если отдельными записями, то проще всего распивот с помощью UNION. Или сразу получить что требуется, как показывает YepBro
Чтобы разбить сеть на 8 подсетей, достаточно убедиться, что исходная сеть - /29 или шире. Впрочем, просто "шире" - термин некорректный, корректнее сказать "мЕньшее число" или "включает не менее 8 адресов".
Впрочем, если задача учебная, то ответ ROUNDUP(LOG2(8)) = 3 бита. Не менее чем на...
Какие именно есть типы в Go, я не в курсе...