最初の謝罪 - この件に関しては数多くのスレッドがありますが、私の質問に対する答えは見つけられません。SQLユーザー定義関数内選択 - 再度
私は、2つの日付の間の営業日を解決するためのUDFを持っています。私は、SQL Serverの私は別のテーブルと一緒にselect文でそれを呼び出すようにしようとしています2008年
CREATE FUNCTION dbo.fn_CountWeekDays
(
@fromdate Datetime,
@todate Datetime
)
RETURNS TABLE AS RETURN
(
SELECT
(DATEDIFF(dd, @fromdate, @todate) + 1)
-(DATEDIFF(wk, @fromdate, @todate) * 2)
-(CASE WHEN DATENAME(dw, @fromdate) = 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, @todate) = 'Saturday' THEN 1 ELSE 0 END)
As NoOfWeekDays
)
を使用しています:
ははどちらか見つけることができません:
select dbo.fn_CountWeekDays(a.date1,a.date2) as workdays
from alex_datetest a
は、しかし、私はエラーを取得しています列 "dbo"またはユーザー定義関数または集約 "dbo.fn_CountWeekDays"、または名前があいまいです。
私はdboを削除します。
'fn_CountWeekDays'は認識された関数名ではありません。
誰も私がこの機能を参照できない理由がありますか?事前に
おかげ
アレックス
あなたの関数はテーブルを返しますが、それはスカラー値を返したかのようにあなたはそれを参照しています。 – TZHX
テーブル値関数を使用しています。使用したいデータ型にRETURNを変更する必要があります。 –