T-SQL OPENROWSET
명령에 매개 변수를 전달하려고하는 문제가 있습니다. 나는 내가 EXEC @laborquery
명령을 사용하지 않고, 직접 SELECT * FROM OPENROWSET
를 실행하면 데이터 형식을OPENROWSET에 날짜 매개 변수 전달
을 smalldatetime으로하는 문자열을 변환 할 때
변환 실패 오류가 계속, 그것은 작동합니다. 나는 그것이 문법 에러라고 생각하고있다. 나는 전달하는 방식이
@lastModifiedBeginDate
과@lastModifiedEndDate
이다.내가
SELECT
하고있는timesheet_date
필드는char(10)
필드이며, 나는 이것을 변경할 수있는 방법이 없습니다.DECLARE @lastModifiedBeginDate smalldatetime = 2014-12-01 DECLARE @lastModifiedEndDate smalldatetime = getdate() DECLARE @laborquery varchar(max) SET @laborquery ='SELECT * FROM OPENROWSET(''SQLNCLI'', ''Server=zzz;Database=yyy;Trusted_Connection=yes;Integrated_Security=SSPI'', ''SELECT a.company_code AS company_code, a.employee_or_equipment_id AS employee_or_equipment_id, a.timesheet_date as timesheet_date, FROM Allocated_Time a INNER JOIN Company_Location b ON B.company_code = A.company_code WHERE work_unit_Id IN (''10051862'', ''10051863'', ''10051868'', ''10051959'', ''10051979'', ''10080220'') AND CAST(timesheet_date AS smalldatetime) BETWEEN ' + @lastModifiedBeginDate + ' AND ' + @lastModifiedEndDate + ' AND B.location=1'')' EXEC @laborquery
고맙겠지 만, 여전히 같은 오류가 있습니다. – user3191188
@ user3191188 오류 메시지 –
문자열을 smalldatetime 데이터 형식으로 변환 할 때 변환하지 못했습니다. – user3191188