Sql server 开始日期和结束日期之间的报告显示
你好,Sql server 开始日期和结束日期之间的报告显示,sql-server,Sql Server,你好, 我写的报告接受了4个参数,但不确定如何在参数的@startdate和@enddate之间显示结果。任何帮助都将不胜感激。首先:将双引号“更改为单引号”或括号[] Select distinct DMA.EmpID as "Employe ID:", DMA.LASTNAME as "Last Name:", DMA.FirstName as "First Name:", SM.CDU_Academic_Rank_1of2 as "CDU Rank",
我写的报告接受了4个参数,但不确定如何在参数的@startdate和@enddate之间显示结果。任何帮助都将不胜感激。首先:将双引号
“
更改为单引号”
或括号[]
Select distinct
DMA.EmpID as "Employe ID:",
DMA.LASTNAME as "Last Name:",
DMA.FirstName as "First Name:",
SM.CDU_Academic_Rank_1of2 as "CDU Rank",
DMA.AnnualPay as "Salary All:",
DMA.Class as "Emp Class",
DMA.[Department Name] as "Department:",
DMA.Activity as "Account:",
DMA.Effort_percentage/100 as "Effort",
DMA.Activitypay as "Amount",
DMA.ActivityStart as "Start Date",
DMA.ActivityEnd as "End Date",
SM.COM,
SM.COSH,
SM.SON,
KWAS.ActivityPayInactive
from
dbo.DMActivitysalary AS DMA
inner JOIN vw_KW_Shay_Main AS SM ON DMA.EmpID = SM.Employee_ID
inner join vw_KW_Activity_Salary_ODBC as KWAS on DMA.EmpID = KWAS.EmpID
where
DMA.[Department Name] in (@Dept)
AND DMA.[Effort_Percentage] in (@Effort)
AND DMA.Activity in (@Account)
AND (KWAS.ActivityPayInactive = 'NO')
AND where DMA.EmpID between DMA.ActivityStart in (@StartDate)
AND DMA.ActivityEnd in (@EndDate)
order by
DMA.ActivityEnd
那么,你的句子中有一个错误:
DMA.EmpID as "Employe ID:" --> DMA.EmpID as [Employe ID:]
无法使用其中的两次,请按更改
AND where DMA.EmpID between DMA.ActivityStart in (@StartDate)
AND DMA.ActivityEnd in (@EndDate)
在和DMA.ActivityStart和DMA.ActivityEnd之间有一个
语法,您可以使用该语法,但这会带来其他问题,例如:“ActivityEnd是否可以有空值”。欢迎使用堆栈溢出!您可以首先学习并创建一个示例。这使我们更容易帮助您。
AND DMA.ActivityStart >= (@StartDate)
AND DMA.ActivityEnd < (@EndDate)
'2017-01-01 00:00:01' > '2017-01-01'