回答編集履歴

3

誤字の修正

2016/09/21 05:42

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  **追記**
60
60
 
61
- CASE構文を使ったほうが読みやすいかも。
61
+ CASEを使ったほうが読みやすいかも。
62
62
 
63
63
 
64
64
 

2

誤字の修正

2016/09/21 05:41

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  **追記**
60
60
 
61
- CASEを使ったほうが読みやすいかも。
61
+ CASE構文を使ったほうが読みやすいかも。
62
62
 
63
63
 
64
64
 

1

追記

2016/09/21 05:37

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -53,3 +53,37 @@
53
53
  );
54
54
 
55
55
  ```
56
+
57
+ ---
58
+
59
+ **追記**
60
+
61
+ CASE分を使ったほうが読みやすいかも。
62
+
63
+
64
+
65
+ ```SQL
66
+
67
+ SELECT
68
+
69
+ CASE
70
+
71
+ WHEN url like '%#%' THEN left(url, instr(url, '#')-1)
72
+
73
+ WHEN url like '%?%' THEN left(url, instr(url, '?')-1)
74
+
75
+ ELSE url END url
76
+
77
+ FROM master
78
+
79
+  以下略
80
+
81
+ ```
82
+
83
+
84
+
85
+ 前者と後者では若干結果が異なります。
86
+
87
+ 前者は # と ? が両方含まれている場合、先の出てきたもの以降を切り捨てます。
88
+
89
+ 後者は、# のほうを優先してそれ以降を切り捨てますので ? が残る場合があります。