Dapper - getdate를 매개 변수로 전달

dapper

문제

나는 SQL Dapper를 사용하고 있으며 UI에서 DATEADD (yy, DATEDIFF (yy, 0, getdate ()) + 1, -1) 매개 변수를 전달하려고합니다. 내가 어떻게 할 수 있니?

DynamicParameter는 key를 객체로 사용하고 key를 매개 변수로 사용하여 쿼리 및 값으로 지정한 값을 ui에서 가져온 값으로 전달합니다. 여기에 오류가 있습니다. 날짜 및 / 또는 시간을 변환 할 때 변환이 실패했습니다. 문자열에서.

--도움이 필요하다.

전문가 답변

다음과 같은 이유로 매개 변수로 보내려는 비트가 어느 것인지 알 수 없습니다.

 DATEADD(yy, DATEDIFF(yy,0,getdate()) + 1, -1)

매개 변수가 아닙니다 . 궁극적으로, 변수에 넣기를 원할지라도, 직접 SQL에 그 값을 넣을 수 있습니다 :

declare @when datetime = DATEADD(yy, DATEDIFF(yy,0,getdate()) + 1, -1);
-- some more sql here, at some point using @when

날짜를 매개 변수로 전달하려면 먼저 날짜 코드를 수행하십시오.

DateTime when = // some C# here...
var data = conn.Query<Whatever>(sql, new { when, ... }).ToList();

DATEADD(yy, DATEDIFF(yy,0,getdate()) + 1, -1) )를 단일 유형의 매개 변수로 직접 전달하는 것은 결코 불가능합니다. 일반적으로 datetime 형식의 매개 변수에는 일반적으로 계산 된 DateTime 의 단일 값이 지정됩니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.