数据中的值和输入值比较大小后进行更新(笔记)

PostgreSQL数据库,要求为输入的值(‘10’)小于数据库中的字段 outline_achieve_level 时,更新字段为10,并将 outline_end_day 设置为空。

因为IF,以及MAX都无法使用,所以目前只能采取这种方式,希望能找到更好的方法

UPDATE 
    tbl_system_project 
SET 
    outline_achieve_level  = ( CASE 
                              WHEN  (SELECT 
                                        outline_achieve_level 
                                    FROM 
                                        tbl_system_project     
                                    WHERE 
                                        project_no = '00270' 
                                    AND 
                                        project_phase = '006') >'10'
                               THEN
                                    '10'
                               ELSE
                                   (SELECT 
                                        outline_achieve_level 
                                    FROM 
                                        tbl_system_project     
                                    WHERE 
                                        project_no = '00270' 
                                    AND 
                                        project_phase = '006') 
                               END ),
    outline_end_day  =  CASE 
                              WHEN  (SELECT 
                                        outline_achieve_level 
                                    FROM 
                                        tbl_system_project     
                                    WHERE 
                                        project_no = '00270' 
                                    AND 
                                        project_phase = '006') >'10'
                               THEN
                                    NULL
                               ELSE
                                  (SELECT 
                                       outline_end_day
                                    FROM 
                                        tbl_system_project     
                                    WHERE 
                                        project_no = '00270' 
                                    AND 
                                        project_phase = '006')
                               END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值