0
我被困在一個SQL服務器功能,粘貼在下面..我試圖返回一個布爾(位)。除非有人願意看到它,否則我不會因爲表格模式描述和嵌套的udf功能而感到厭倦,因爲當我測試單獨計算的兩個值時,此工作正常。我得到兩個局部變量的值,並對它們進行比較。他們再一次單獨工作,但是當我運行這個函數時,我總是會得到錯誤的(在一段時間內我的測試數據是真實的,但一段時間以來一直不能重新創建)。所以我想知道我的錯誤是否在我接近尾聲的任務陳述中?SQl服務器自定義函數錯誤總是返回假(不工作),即使它的組件工作
ALTER FUNCTION dbo.PricingVolDataAvailableToDateProvided
(@Ticker char,
@StartDate DATETIME2,
@NumberOfDaysBack int)
RETURNS bit
AS
BEGIN
DECLARE @Result bit
DECLARE @TargetDate DATETIME2
SET @TargetDate=dbo.TradingDateByStartDate(@NumberOfDaysBack, @StartDate)
DECLARE @DataPointDateFromTable DATETIME2
SET @DataPointDateFromTable= (SELECT TOP (1) TradeDate
FROM (SELECT TOP (@NumberOfDaysBack) TradeDate, Symbol
FROM tblDailyPricingAndVol
WHERE (Symbol = @Ticker AND TradeDate <= @StartDate)
ORDER BY TradeDate DESC) AS T2
ORDER BY TradeDate ASC)
IF @DataPointDateFromTable = @TargetDate
SET @Result = 1
ELSE
SET @Result = 0
RETURN @Result
END
謝謝.. ..我仍然在使用它,雖然鑄造,但沒有運氣......是否有一種等效的方式來打印或從sql函數獲取某種中間輸出或反饋,因爲它執行? – StatsViaCsh 2012-01-17 21:00:41
你可以打印你想要什麼: 'PRINT @DataPointDateFromTable PRINT @ TargetDate' 或 '選擇@DataPointDateFromTable SELECT @ TargetDate' 只是爲了檢查 – pistipanko 2012-01-17 21:03:57
我得到錯誤「無效使用了副作用 - 影響運營商的「PRINT '在一個函數內「。 – StatsViaCsh 2012-01-17 21:07:17