我正在使用c#。我有如下查询。在这里,我想替换等效查询而不是IF条件查询。为此,我必须将IF条件语句与整个字符串分开。 (例如:IF(DATEPART(\" MM \",TODAY())= 1,12,DATEPART(\" MM \",TODAY()) - 1))
有人能建议我如何实现这个目标吗?
"情况(DATEPART(\" MM \",[日期])= IF(DATEPART(\" MM \",TODAY())= 1,12, DATEPART(\" MM \",TODAY()) - 1)和DATEPART(\" YYYY \",[Date])= IF( IF(DATEPART(\" MM \",TODAY())= 1,12,DATEPART(\" MM \"今日()) - 1)= 12,DATEPART (\" YYYY \",TODAY()) - 1,DATEPART(\" YYYY \",TODAY())))那么(日期)ELSE( null)结束"
答案 0 :(得分:0)
根据我的理解,我在Sql Server中为您编写了一个小例子。请验证 -
DECLARE @tbl TABLE ([Date] DATETIME)
INSERT INTO @tbl ([Date])
SELECT '2017-12-01'
UNION
SELECT '2018-01-12'
SELECT
CASE
WHEN (
DATEPART(MONTH,[Date]) = DATEPART(MONTH,DATEADD(MONTH,-1,GETDATE()))
AND DATEPART(YEAR,[Date]) = DATEPART(YEAR,DATEADD(MONTH,-1,GETDATE()))
)
THEN [Date]
ELSE NULL
END
FROM @tbl