首先先看一下三目运算在sql 中怎么使用的
SELECT
(
CASE
WHEN STATUS = 1 THEN
'yes'
ELSE
'no'
END
) AS STATUS
FROM
t_template_paper
这是查询的语句块
修改中使用的使用如下
--修改逾期 1-3天的
UPDATE T_Loans
SET OverdueTime = GETDATE() ,
OverdueDay = (CASE
WHEN DATEDIFF(DAY,LastShouldReturnTime ,GETDATE()) >3 THEN
--再次验证 是否第一次 防止重复累加 第一次大于的现象做的验证判断 下面的逻辑都是如此
(CASE
WHEN IsOverdue = 0 THEN
3
ELSE
OverdueDay
END)
ELSE
DATEDIFF(DAY,LastShouldReturnTime ,GETDATE())
END ),
OverdueInterest = OverdueInterest + ( LoanAmount * @OverdueCost / 100 ) * (CASE
WHEN DATEDIFF(DAY,LastShouldReturnTime ,GETDATE()) >3 THEN
--再次验证 是否第一次 防止重复累加
(CASE
WHEN IsOverdue = 0 THEN
3
ELSE
0
END)
ELSE
(DATEDIFF(DAY,LastShouldReturnTime ,GETDATE()) - OverdueDay)
END ),
IsOverdue = 1
WHERE Status = 3 AND DATEDIFF(DAY,LastShouldReturnTime ,GETDATE()) >0 AND PlatformID=@PlatformId;
用法嵌套与查询相同