Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
1

Создание функции для определения скидки

12.01.2015, 21:38. Показов 8699. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо написать функцию, которая в зависимости от стоимости покупки определяет скидку. Не представляю, как это можно сделать на T-SQL.
10000> 2%
40000> 3%
100000> 5%
На вход поступает FLOAT - стоимость покупки, на выходе FLOAT - скидка поделенная на 100.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2015, 21:38
Ответы с готовыми решениями:

создание функции для определения простого числа
Функция принимает в себя два числа - начало и конец диапазона. Распечатывает все простые числа в...

Создание выражения для вычисления скидки в отчете Fast Report
Здравствуйте! Возникла проблема с созданием отчета. Необходимо правильно написать выражения для...

Доработка программы определения стоимости разговора по телефону с учетом скидки
Написать программу определения стоимости разговора по телефону с учетом скидки 20%, предоставляемой...

Создание ИНС с учителем для определения дорожных знаков
Всем привет, не знал куда написать, по этому если что-то нарушил просьба к модератору, перенести в...

5
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
12.01.2015, 21:59 2
Функция называется CASE
0
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
13.01.2015, 22:50  [ТС] 3
UP!
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
CREATE FUNCTION dbo.testF(@n1 int)
RETURNS INT
BEGIN
    DECLARE @n2 INT
      CASE 
         WHEN n1 >= 10000 AND n1 < 40000  THEN @n2=2
         WHEN n1 >= 40000 AND n1 < 100000 THEN @n2=3
         WHEN n1 >= 100000 THEN @n2=5
         ELSE @n2=0
      END
    return (@n2)
END
Я пытался Помогите функцию дописать, курсач из-за этого висит мёртвым грузом(
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
13.01.2015, 23:07 4
Лучший ответ Сообщение было отмечено T2skler как решение

Решение

Если уж обязательно функцию (хотя не понимаю, зачем), то примерно так:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
CREATE FUNCTION dbo.testF(@n1 int)
RETURNS INT
BEGIN
   RETURN 
      CASE 
         WHEN @n1 <  10000 THEN 0
         WHEN @n1 <  40000 THEN 2
         WHEN @n1 < 100000 THEN 3
         ELSE 5
      END
END
1
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
14.01.2015, 15:33  [ТС] 5
А кто подскажет, что за сообщение об ошибке: инструкция create function должна быть единственной в пакете?
0
4 / 4 / 1
Регистрация: 11.01.2015
Сообщений: 18
14.01.2015, 16:15 6
Это значит - кроме функции никаких других строк в запросе быть не должно.
0
14.01.2015, 16:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2015, 16:15
Помогаю со студенческими работами здесь

Функции для определения железа
привет всем в очередной раз ),никто не подскажет мне какие есть ф-и для определения например мамки...

Составить блок схему к готовому коду определения области определения функции
Program Project2; var x,y: real; begin writeln('Введите значение х'); write('х=');...

программа для определения характеристической функции
Помогите пожалуйста, написать программу для определения характеристической функции(в матлабе). я...

Инструкция определения функции и выражение определения функции
Всем добрый вечер. Задался вопрос, чем собственно отличается инструкция определения функции от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru