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

回答編集履歴

5

追記

2019/12/18 01:47

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -19,7 +19,7 @@
19
19
  from t_user
20
20
  where kaiin_no = 1009;
21
21
  ```
22
- 個人的にという事であれば、私は,や||などは前方に配置するようにしているので、以下の様な書き方にするかな
22
+ 個人的にという事であれば、私は,や||などは前方に配置するようにしているので、改行を意識した書き方というなら以下の様な書き方にするかな
23
23
  ```SQL
24
24
  select
25
25
  coalesce(reg_name, '無名ユーザ')

4

追記

2019/12/18 01:47

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -18,4 +18,23 @@
18
18
  ) as ansswer_text
19
19
  from t_user
20
20
  where kaiin_no = 1009;
21
+ ```
22
+ 個人的にという事であれば、私は,や||などは前方に配置するようにしているので、以下の様な書き方にするかな
23
+ ```SQL
24
+ select
25
+ coalesce(reg_name, '無名ユーザ')
26
+ || 'は'
27
+ || coalesce(typ, 'タイプ未定')
28
+ || 'ユーザです'
29
+ as ansswer_text
30
+ from t_user where kaiin_no = 1009;
31
+ ```
32
+ ```SQL
33
+ select concat(
34
+ coalesce(reg_name, '無名ユーザ')
35
+ , 'は'
36
+ , coalesce(typ, 'タイプ未定')
37
+ , 'ユーザです'
38
+ ) as ansswer_text
39
+ from t_user where kaiin_no = 1009;
21
40
  ```

3

推敲

2019/12/18 01:43

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  見易さは人によるところもあるので、規約を設けて基準を持たないと何ともしがたいです。
2
2
 
3
3
  文字に埋め込む形式の場合には、**||**や**Concat()**を使うより**format()**([9.4. 文字列関数と演算子](https://www.postgresql.jp/document/11/html/functions-string.html))
4
- を使用した方がすっきりはするかと思います。
4
+ を使用した方がすっきりして可読性向上はするかと思います。
5
5
  ```SQL
6
6
  select format('%sは%sユーザです'
7
7
  , coalesce(reg_name, '無名ユーザ')

2

推敲

2019/12/18 01:25

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  from t_user
11
11
  where kaiin_no = 1009;
12
12
  ```
13
- 改行を埋め込むなら
13
+ 質問での改行ではありませんが、改行を埋め込む場合は
14
14
  ```SQL
15
15
  select format(E'%sは\r%sユーザです'
16
16
  , coalesce(reg_name, '無名ユーザ')

1

追記

2019/12/18 01:24

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -2,11 +2,20 @@
2
2
 
3
3
  文字に埋め込む形式の場合には、**||**や**Concat()**を使うより**format()**([9.4. 文字列関数と演算子](https://www.postgresql.jp/document/11/html/functions-string.html))
4
4
  を使用した方がすっきりはするかと思います。
5
- ```
5
+ ```SQL
6
6
  select format('%sは%sユーザです'
7
7
  , coalesce(reg_name, '無名ユーザ')
8
8
  , coalesce(typ, 'タイプ未定')
9
9
  ) as ansswer_text
10
10
  from t_user
11
11
  where kaiin_no = 1009;
12
+ ```
13
+ 改行を埋め込むなら
14
+ ```SQL
15
+ select format(E'%sは\r%sユーザです'
16
+ , coalesce(reg_name, '無名ユーザ')
17
+ , coalesce(typ, 'タイプ未定')
18
+ ) as ansswer_text
19
+ from t_user
20
+ where kaiin_no = 1009;
12
21
  ```