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

回答編集履歴

1

追記

2017/05/22 05:14

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -2,4 +2,16 @@
2
2
  必ず@が含まれている前提ですが。
3
3
  ```SQL
4
4
  SELECT SUBSTRING(mail,1,CHARINDEX(mail,'@')-1)
5
+ ```
6
+
7
+ NULLと@を含まない場合の対策版
8
+
9
+ ```SQL
10
+ SELECT
11
+ CASE mail
12
+ WHEN NULL THEN
13
+ NULL
14
+ ELSE
15
+ SUBSTRING(mail,1,CASE CHARINDEX('@',mail) WHEN 0 THEN LEN(mail) ELSE CHARINDEX('@',mail)-1 END)
16
+ END;
5
17
  ```