如何将IF语句与整个字符串

时间:2018-02-25 10:25:39

标签: c# sql-server regex

我正在使用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)结束"

1 个答案:

答案 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