Пользовательская функция SQL внутри выбора - PullRequest
53 голосов
/ 12 декабря 2008

У меня есть пользовательская функция в SQL, называемая getBuisnessDays, она принимает @startdate и @enddate и возвращает количество рабочих дней между двумя датами. Как я могу вызвать эту функцию в моем выборе?

Вот что я хотел бы сделать ..

SELECT getBusinessDays(a.opendate,a.closedate) 
FROM account a
WHERE ...

Ответы [ 3 ]

91 голосов
/ 12 декабря 2008

Да, вы можете сделать почти это:

SELECT dbo.GetBusinessDays(a.opendate,a.closedate) as BusinessDays
FROM account a
WHERE...
9 голосов
/ 12 декабря 2008

Если это функция табличного значения (возвращает набор таблиц) вы просто присоединяетесь к нему как таблица

эта функция генерирует одну таблицу столбцов со всеми значениями из переданного списка, разделенного запятыми

SELECT * FROM dbo.udf_generate_inlist_to_table('1,2,3,4')
7 голосов
/ 12 декабря 2008

Используйте UDF со скалярным значением, а не табличное значение, тогда вы можете использовать его в SELECT по своему усмотрению.

...