回答編集履歴

2

推敲

2021/02/25 12:23

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ```
20
20
 
21
- :NAMEと:MAILが共にNullの場合にUPDATE_DT を更したくない場合は以下の様にします。
21
+ :NAMEと:MAILが共にNullの場合にUPDATE_DT を更したくない場合は以下の様にします。
22
22
 
23
23
  ```SQL
24
24
 

1

追記

2021/02/25 12:23

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -17,3 +17,19 @@
17
17
  WHERE ID = :ID
18
18
 
19
19
  ```
20
+
21
+ :NAMEと:MAILが共にNullの場合にUPDATE_DT を更新したくない場合は以下の様にします。
22
+
23
+ ```SQL
24
+
25
+ UPDATE TABLE SET
26
+
27
+ NAME = coalesce(:NAME, NAME)
28
+
29
+ , MAIL = coalesce(:MAIL, MAIL)
30
+
31
+ , UPDATE_DT = case when :NAME is null and :MAIL is null then UPDATE_DT else NOW() end
32
+
33
+ WHERE ID = :ID
34
+
35
+ ```