Еще раз о RAND в SQL

В предыдущем посте я писал о том, что можно сделать функцию RAND, для генирации в диапазоне, однако при тестировании выяснилось, что она не работает должным образом — выкидываемое значение было больше чем max, в параметре функции.

Новая функция:

1
2
3
4
5
6
7
CREATE FUNCTION getRandom(@min int, @max int)
RETURNS INT
AS
BEGIN
Return (SELECT ROUND(((@max - @min -1) * V + @min), 0) FROM dbo.vRand)
 
END
CREATE FUNCTION getRandom(@min int, @max int)
RETURNS INT
AS
BEGIN
Return (SELECT ROUND(((@max - @min -1) * V + @min), 0) FROM dbo.vRand)

END

SQL: Обертка на RAND()

В SQL есть функция RAND() которая может генерировать псевдослучайные числа.  Например такой запрос:

Select Rand()

Вернет:

rand

Дальше можно немного модифицировать выборку. Скажем, нам нужно, что бы выбиралось целое число от 0 до 100, тогда запрос будет таким:

SELECT FLOOR(100*RAND());

Ну и если от 10 до 100, то таким:

SELECT FLOOR(100*RAND()+10);

В языке SQL поддерживаются функции, так почему бы не написать обертку на Rand, которая будет генерировать числа от и до нужных нам границ?

Continue reading

C# как сделать обязательным запуск от администратора в программе

Иногда, нужно, что бы приложение всегда запускалось с правами администратора. Как этого добиться?

Что бы приложение всегда запускалось с правами администратора нужно:

  • Правой кнопкой мыши по проекту
  • Добавить -> Создать элемент
  • В списке выбрать файл манифеста приложения

Далее в этом файле нужно заменить строчку

1
<requestedExecutionLevel>
<requestedExecutionLevel>

на

1
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Ubuntu: как установить vmware tools

Всех с новым годом. Маленькая заметочка.

Установить vmware tools на ubuntu server можно при помощи следующей команды:

1
sudo apt-get install --no-install-recommends open-vm-tools
sudo apt-get install --no-install-recommends open-vm-tools

а на ubuntu desktop попроще:

1
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools