回答編集履歴

4

推敲

2021/10/31 09:38

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  追記
20
20
 
21
- このupdate文は使う場面が限定されます。
21
+ この質問のupdate文は使う場面が限定されます。
22
22
 
23
23
  何故なら、実行する度に値が加算されてしまうからです。
24
24
 

3

追記

2021/10/31 09:38

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -13,3 +13,13 @@
13
13
  updateの際、値を変更したりしなかったりという分岐が必要な場合、変更前の値で更新するという本来無駄な処理を利用すると、複雑さを回避できます。
14
14
 
15
15
  ただ、性能の観点からは、where条件で絞り込める場合には指定をした方が良いですが。
16
+
17
+
18
+
19
+ 追記
20
+
21
+ このupdate文は使う場面が限定されます。
22
+
23
+ 何故なら、実行する度に値が加算されてしまうからです。
24
+
25
+ 初回のみの実行でないなら、selectなどで計算された値で更新するようになっていないと駄目ですね。

2

追記

2021/10/30 07:44

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -11,3 +11,5 @@
11
11
  ```
12
12
 
13
13
  updateの際、値を変更したりしなかったりという分岐が必要な場合、変更前の値で更新するという本来無駄な処理を利用すると、複雑さを回避できます。
14
+
15
+ ただ、性能の観点からは、where条件で絞り込める場合には指定をした方が良いですが。

1

追記

2021/10/30 06:50

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -1,6 +1,6 @@
1
- **Switch関数**は評価式がTrueの場合に対応した値を返却します。
1
+ **Switch関数**は評価式がTrueの場合に対応した値を返却しますので、評価式に該当しないものはNullが返却されます
2
2
 
3
- 質問の内容では**else**に該当する結果を返せるようにすればよいので、**iif()**に切り替えるか以下のようにします。
3
+ 質問の内容でwhereを省く場合**else**に該当する結果を返せるようにすればよいので、**iif()**に切り替えるか以下のようにします。
4
4
 
5
5
  ```SQL
6
6