sql update 三目运算的使用

版权声明:APan的博客 https://blog.csdn.net/qq_40729514/article/details/85264799

首先先看一下三目运算在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;

用法嵌套与查询相同

猜你喜欢

转载自blog.csdn.net/qq_40729514/article/details/85264799
今日推荐