Estou utilizando a query conforme citado na resposta aceita na pergunta localizada em Stored Procedure não mostra resultado no SQL Server
Agora, quando executo este SP com os valores fornecidos no parâmetro, o SP mostra resultados apenas de valores de parâmetros específicos ao retornar o resultado. Pode haver alguma chance de os valores serem encerrados? Os valores dos parâmetros são múltiplos e separados por vírgula.
Abaixo está o SP;
ALTER PROCEDURE [dbo].[sp_tst_JulieExportCSENGOnly]
@ProjectHierarchy NVARCHAR(max),
@ProjectHomeGroup NVARCHAR(max),
@ProjName NVARCHAR(max),
@ProjOwn NVARCHAR(max),
@TimeByDay DATETIME,
@TimeByDay2 DATETIME
AS
SET NOCOUNT ON
BEGIN
DECLARE @ProjectHierarchyTbl TABLE ( Value NVARCHAR(MAX))
DECLARE @ProjectHomeGroupTbl TABLE ( Value NVARCHAR(MAX))
DECLARE @ProjNameTbl TABLE ( Value NVARCHAR(MAX))
DECLARE @ProjOwnTbl TABLE ( Value NVARCHAR(MAX))
INSERT INTO @ProjectHierarchyTbl
( Value )
SELECT LTRIM(RTRIM(s))
FROM dbo.Split(',', @ProjectHierarchy) ;
INSERT INTO @ProjectHomeGroupTbl
( Value )
SELECT LTRIM(RTRIM(s))
FROM dbo.Split(',', @ProjectHomeGroup) ;
INSERT INTO @ProjNameTbl
( Value )
SELECT LTRIM(RTRIM(s))
FROM dbo.Split(',', @ProjName) ;
INSERT INTO @ProjOwnTbl
( Value )
SELECT LTRIM(RTRIM(s))
FROM dbo.Split(',', @ProjOwn) ;
SELECT
[IR.TimesheetProjectHoursByDay].[Project Departments]
,[IR.TimesheetProjectHoursByDay].ProjectName
,[IR.TimesheetProjectHoursByDay].ProjectOwnerName
,[IR.TimesheetProjectHoursByDay].[Project Hierarchy]
,[IR.TimesheetProjectHoursByDay].[Project Home Group]
,[IR.TimesheetProjectHoursByDay].[CSENG Project Type]
,[IR.TimesheetProjectHoursByDay].TaskName
,[IR.TimesheetProjectHoursByDay].[Capital Project]
,[IR.TimesheetProjectHoursByDay].[Capital Task]
,[IR.TimesheetProjectHoursByDay].TimeByDay
,[IR.TimesheetProjectHoursByDay].ResourceName
,[IR.TimesheetProjectHoursByDay].ActualWork
,[IR.TimesheetProjectHoursByDay].[Resource Home Group]
,[IR.TimesheetProjectHoursByDay].[Resource Cost Center]
,[ResourceStandardRate]
FROM
[IR.TimesheetProjectHoursByDay]
WHERE
[IR.TimesheetProjectHoursByDay].[Project Departments] LIKE N'CSENG'
AND ActualWork > 0
AND [IR.TimesheetProjectHoursByDay].[Project Hierarchy] IN (SELECT VALUE FROM @ProjectHierarchyTbl)
AND [IR.TimesheetProjectHoursByDay].[Project Home Group] IN (SELECT VALUE FROM @ProjectHomeGroupTbl)
AND ProjectName IN (SELECT VALUE FROM @ProjNameTbl)
AND ProjectOwnerName IN (SELECT VALUE FROM @ProjOwnTbl)
AND [IR.TimesheetProjectHoursByDay].TimeByDay >= @TimeByDay
AND [IR.TimesheetProjectHoursByDay].TimeByDay <= @TimeByDay2
END
Obrigado!
A função split que você usa trunca a lista de valores para
varchar(512)
. Existem várias funções de divisão para escolher nesta resposta e aqui está outra.