我們在資料庫進行查詢的時候,有時候需要對資料進行部分的處理。比如當時A情況的時候的将值指派為B,為a的情況的時候指派為b,在大多的程式設計的語言都會用到if..else .那麼SQL是怎麼處理的呢?
1.使用 case when ...then ..else..end等關聯詞
舉例:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLx0EVOBzYE5UMNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzIzN3UTN0AjM5IDNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
現在我判斷,若第一列不是空,在插入的時候,取最大值的+1,否則我就自動設定一個數字。
select (case when (select max(template_id) as from gfm_ps_uv_viewtemplate)is null then 1900000
else ((select max(template_id) from gfm_ps_uv_viewtemplate)+1)
end) a
from gfm_ps_uv_viewtemplate