Я весь день на довольно простом udf.Это ниже.Когда я вставляю оператор select в запрос, он выполняется так, как ожидалось ... когда я выполняю всю функцию, я каждый раз получаю "0".Как вы знаете, вариантов отладки не так много, поэтому трудно понять, какие значения устанавливаются / не устанавливаются во время выполнения.Основная цель этого - убедиться, что данные о запасах существуют в ежедневной таблице цен.Таким образом, я могу проверить, по скольким дням я проверяю данные, тикер и самую последнюю торговую дату для проверки.Подзапрос дает мне правильные даты торговли, и я использую «IN», чтобы извлечь данные из таблицы цен и объема ... если подсчет того, что возвращается, меньше, чем количество дней, которые я проверяю, то ничего хорошегоЕсли это произойдет, мы в бизнесе.Любая помощь была бы отличной, я новичок, который занимается в данный момент:
ALTER FUNCTION dbo.PricingVolDataAvailableToDateProvided
(@Ticker char,
@StartDate DATE,
@NumberOfDaysBack int)
RETURNS bit
AS
BEGIN
DECLARE @Result bit
DECLARE @RecordCount int
SET @RecordCount = (
SELECT COUNT(TradeDate) AS Expr1
FROM (SELECT TOP (100) PERCENT TradeDate
FROM tblDailyPricingAndVol
WHERE ( Symbol = @Ticker )
AND ( TradeDate IN (SELECT TOP (@NumberOfDaysBack)
CAST(TradingDate AS DATE) AS Expr1
FROM tblTradingDays
WHERE ( TradingDate <= @StartDate )
ORDER BY TradingDate DESC) )
ORDER BY TradeDate DESC) AS TempTable )
IF @RecordCount = @NumberOfDaysBack
SET @Result = 1
ELSE
SET @Result = 0
RETURN @Result
END