Case语句中的多个布尔表达式

时间:2016-08-05 17:23:44

标签: sql-server

以下是我正在努力工作的零件代码......基本上,如果今天是星期一,它会给我上周一的日期。如果今天不是星期一那么它会给我这个星期一的日期。

WHERE
CASE WHEN
DATEPART(dw,GETDATE()) = '1' 
THEN
DateColumn >= DATEADD(wk,DATEDIFF(wk,0,GETDATE()) - 1,0)
ELSE
DateColumn >= DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
END

但是,当我运行代码时,它表示“'>'附近的语法不正确”。我不确定它是否不喜欢我使用多个布尔表达式或者该语法确实有问题。

1 个答案:

答案 0 :(得分:1)

你的语法略有错误;它应该是:

 String json = getSharedPrefs(context).getString(NotificationUtility.NEXT_REMINDER_KEY, "No reminder found");
    try {
        Gson gson = new Gson();
        Reminder reminder = gson.fromJson(json, Reminder.class);
        if (reminder != null) {
            return reminder;
        }
    } catch (Exception error) {
        Log.i(TAG, "Error parsing json: " + error.getMessage(), error);
        return null;
    }
    return null;