当我在TSQL中执行以下操作时,NULL即使有值,我也会得到.
这是我的代码:
CASE
WHEN cal.Weekday = ' ' OR HOLIDAY.DateInfo > ' '
THEN WEPHWORK.WEPHWORK + OCESAWD.OCESAWD + OCESAWE.OCESAWE
ELSE OCESAWD.OCESAWD + OCESAWE.OCESAWE
END as weighted
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
ALTER PROCEDURE [dbo].[REPORTING_MonthlyClientTimesheet_wrapper2_TRR_Month]
(@StartDate DATETIME,
@taskcode VARCHAR(250),
@username VARCHAR(250))
AS
BEGIN
SET NOCOUNT ON
DECLARE @ProcedureName SYSNAME
-- Give them one full month of records
DECLARE @EndDate DATETIME
SET @ProcedureName = OBJECT_NAME(@@PROCID)
--SET @EndDate = DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@StartDate)+1,0)) -- end month
SET @EndDate = DATEADD(s, -1, DATEADD(YY, DATEDIFF(YYYY, 0, @StartDate) + 1, 0)) --set to end of Year
BEGIN TRY
SELECT DISTINCT
@username,
cal.calendaryear,
cal.calendarmonth,
cal.calendarday,
DATEPART(wk, Calendardate) AS weekno,
DATENAME(month, DATEADD(month, cal.calendarmonth - 1, 0)) AS iMonthName,
DATEADD(s, -1, DATEADD(YY, …Run Code Online (Sandbox Code Playgroud)