Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Sign / 6 сообщений из 6, страница 1 из 1
01.12.2014, 11:44
    #38821207
Dmitry Y
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sign
Есть ли стандартная функция, определяющая знак числа типа Sign(х) с результатами -1;0;1
Я конечно могу используя некоторые другие функции получить результат, но что проще:
Select Sign(х)
Select (x+0.5)/ABS(x+0.5)
x - у меня целое число, что спасает от ошибки при делении
...
Рейтинг: 0 / 0
01.12.2014, 15:11
    #38821434
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sign
Dmitry YЕсть ли стандартная функция, определяющая знак числа типа Sign(х) с результатами -1;0;1
Нет. Можно:
Код: sql
1.
CASE WHEN x < 0 THEN -1 WHEN x = 0 THEN 0 ELSE 1 END as Sign
...
Рейтинг: 0 / 0
09.12.2014, 00:53
    #38828523
Dmitry Y
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sign
Dmitry Arefiev,

Спасибо, не знал что между "case" "when" можно оставлять поле пустым и ставить условия сравнения, а не только равенства. Красиво получится конструкция типа Sum(Case(Case(...)...))
...
Рейтинг: 0 / 0
09.12.2014, 18:15
    #38829412
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sign
Dmitry YКрасиво получится
Еще красивее поступить согласно архитектуре БД и создать пользовательскую
функцию на хост языке.
...
Рейтинг: 0 / 0
10.12.2014, 03:10
    #38829746
Dmitry Y
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sign
Dmitry ArefievDmitry YКрасиво получится
Еще красивее поступить согласно архитектуре БД и создать пользовательскую
функцию на хост языке.
Может это и не сложно, но некогда, и не думаю что это ускорит или упростит работу программы. Но спасибо за предложение.
...
Рейтинг: 0 / 0
10.12.2014, 18:23
    #38830587
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sign
Dmitry YМожет это и не сложно, но некогда, и не думаю что это ускорит или упростит работу программы. Но спасибо за предложение.Это не сложно.
И если ты пишешь на Си (или С++), то ускорит работу обязательно.
Если у тебя в качестве базового ЯП для клиента что-то другое, то на функции уровня сложности sing() ты потеряешь производительность. Но если функция более сложная, то потери из за между-языковой конвертации вызовов могут быть нивелированы. Тут уже надо будет смотреть на конкретную функцию.
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Sign / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]