Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Функция с параметром по умолчанию  [new]
PWW
Member

Откуда: Москва
Сообщений: 3297
Здраствуйте.
Подскажите пожалуйста, как сделать функцию возвращающую таблицу, принимающую один параметр (дату); если параметр не задан (опущен), то по умолчанию принимается дата сервера. Мои безуспешные попытки

alter FUNCTION "F88"
	(
	--@p1  datetime DEFAULT GETDATE() --так ошибка
        --@p1  datetime = GETDATE()       --так ошибка
        @p1  datetime                     --так конечно работает, но мне нужно чтобы я мог в ряде случаев его не указывать.

	)
RETURNS TABLE
AS
RETURN (
 SELECT    *
 FROM      Приказы  
 WHERE     (Дата = @p1) 
)

Задача состоит в том, что бы сделать функцию, к которой можно было обращаться F88 или F88('1-1-2012').
Вообще такое возможно?
17 дек 12, 15:06    [13643197]     Ответить | Цитировать Сообщить модератору
 Re: Функция с параметром по умолчанию  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
PWW,

BOL утверждает что

When a parameter of the function has a default value, the keyword "default" must be specified when calling the function in order to get the default value. This behavior is different from parameters with default values in stored procedures in which omitting the parameter also implies the default value.
17 дек 12, 15:10    [13643241]     Ответить | Цитировать Сообщить модератору
 Re: Функция с параметром по умолчанию  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
Нельзя.
Можно будет либо F88(default), либо F88('1-1-2012').
Ну и функцию слегка подправить...
17 дек 12, 15:10    [13643243]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить