質問するログイン新規登録

回答編集履歴

2

推敲

2021/02/25 12:23

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  , UPDATE_DT = NOW()
9
9
  WHERE ID = :ID
10
10
  ```
11
- :NAMEと:MAILが共にNullの場合にUPDATE_DT を更したくない場合は以下の様にします。
11
+ :NAMEと:MAILが共にNullの場合にUPDATE_DT を更したくない場合は以下の様にします。
12
12
  ```SQL
13
13
  UPDATE TABLE SET
14
14
  NAME = coalesce(:NAME, NAME)

1

追記

2021/02/25 12:23

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -7,4 +7,12 @@
7
7
  , MAIL = coalesce(:MAIL, MAIL)
8
8
  , UPDATE_DT = NOW()
9
9
  WHERE ID = :ID
10
+ ```
11
+ :NAMEと:MAILが共にNullの場合にUPDATE_DT を更新したくない場合は以下の様にします。
12
+ ```SQL
13
+ UPDATE TABLE SET
14
+ NAME = coalesce(:NAME, NAME)
15
+ , MAIL = coalesce(:MAIL, MAIL)
16
+ , UPDATE_DT = case when :NAME is null and :MAIL is null then UPDATE_DT else NOW() end
17
+ WHERE ID = :ID
10
18
  ```