이메일 주소 포맷 체크 쿼리 0 5 1,041

by idoris [2020.03.15 17:07:03]


안녕하세요.

이메일 주소 포맷 (ex: AAA@BB.COM) 이 맞는지 여부를 체크하는 쿼리를 만들려면 

어떻게 해야 할까요? ㅠ

이메일 주소 유효 여부
test@naver.com Y
alal.com N
adfk@bkas N

답변 꼭 좀 부탁드립니다.

by 우리집아찌 [2020.03.16 08:26:27]

먼저 이메일 패턴부터 정의하셔야죠


by 마농 [2020.03.17 08:39:18]

우선. 규칙을 찾아야 합니다.
1. @ 를 중간에 포함해야 하고.
2. @bkas 가 제외되는걸 보면 .com 이 와야 하는데.
3. .com 만으로 제한하기엔 부족해 보이고, .net 이나, .co.kr 등을 일일이 추가하기엔 무리가 있고
4. @ 뒤에 쩜(.)이 있는지로 체크해야 할 듯 하네요.


by idoris [2020.03.17 09:25:44]

넵 맞습니다.

단순히 이메일 형식(xxx@xxx.xxx) 이면 됩니다.

@와 .(점) 은 포함되어야 하고

앞뒤로 값이 존재해야 합니다. (값에 대한 길이 제한은 없습니다.)

쿼리를 어떻게 해야 할지 모르겠습니다.

도움 부탁드립니다. ㅠ


by 마농 [2020.03.17 09:59:38]
WITH t AS
(
SELECT 'test@naver.com' email FROM dual
UNION ALL SELECT 'alal.com' FROM dual
UNION ALL SELECT 'adfk@bkas' FROM dual
UNION ALL SELECT '@test.net' FROM dual
UNION ALL SELECT '@test.' FROM dual
UNION ALL SELECT '@test@test.net' FROM dual
)
SELECT email
     , CASE WHEN REGEXP_LIKE(email, '^[^@]+@[^@]+[.][^@]+$') THEN 'Y' ELSE 'N' END yn
  FROM t
;

 


by idoris [2020.03.18 09:10:39]

감사합니다. 마농님!^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입