database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 2058 게시물 읽기
No. 2058
이메일, 핸드폰 유효성 체크 쿼리
작성자
질문
작성일
2007-10-10 11:25ⓒ
2007-10-10 11:26ⓜ
조회수
8,909

> 테이블에 불필요한 메일주소와 핸드폰 번호가 많아서 걸러야 하는데요.

> 이메일 유효성체크와 핸드폰 번호 체크 쿼리를 아시는 분들 좀 알려주세요 ㅡㅜ 부탁드릴께욤



이메일 유효성체크 mssql 쿼리는 찾았는데요.

sybase에서는 안되네요 ㅡㅜ


SELECT *

FROM TEST

(

 CHARINDEX(' ',LTRIM(RTRIM([MAIN_EAMIL]))) = 0    --MAIN_EAMIL은 메일주소 컬럼명

AND   LEFT(LTRIM([MAIN_EAMIL]),1) <> '@'

AND   RIGHT(RTRIM([MAIN_EAMIL]),1) <> '.'

AND   CHARINDEX('.',[MAIN_EAMIL],CHARINDEX('@',[MAIN_EAMIL])) - CHARINDEX('@',[MAIN_EAMIL]) > 1

AND   LEN(LTRIM(RTRIM([MAIN_EAMIL]))) - LEN(REPLACE(LTRIM(RTRIM([MAIN_EAMIL])),'@','')) = 1

AND   CHARINDEX('.',REVERSE(LTRIM(RTRIM([MAIN_EAMIL])))) >= 3

AND   (CHARINDEX('.@',[MAIN_EAMIL]) = 0 AND CHARINDEX('..',[MAIN_EAMIL]) = 0)

)

이 글에 대한 댓글이 총 2건 있습니다.


 select b.empl_email, b.empl_no, b.empl_nm, "메일주소에공백이없어야하고"
   from #M5_email_chk b
  where charindex(' ',ltrim(rtrim(b.empl_email))) > 0
   --메일주소에공백이없어야하고

 union
 select b.empl_email, b.empl_no, b.empl_nm, "메일주소가@로시작하지말아야하고"
   from #M5_email_chk b
  where left(ltrim(empl_email),1) = '@'
 --메일주소가@로시작하지말아야하고

union
 select b.empl_email, b.empl_no, b.empl_nm, "메일주소가.로끝나지말아야하고"
   from #M5_email_chk b
  where right(rtrim(b.empl_email),1) = '.'
 --메일주소가.로끝나지말아야하고

union
 select b.empl_email, b.empl_no, b.empl_nm, "@보다.이뒤에있어야하고"
   from #M5_email_chk b
  where (charindex('.',ltrim(rtrim(b.empl_email))) - charindex('@',b.empl_email)) <= 1
 --@보다.이뒤에있어야하고

union
 select b.empl_email, b.empl_no, b.empl_nm , "메일주소전체길이에서@를뺀길이가1이어야 하고"
   from #M5_email_chk b
  where datalength(ltrim(rtrim(b.empl_email))) - datalength(str_replace(ltrim(rtrim(b.empl_email)),'@',space(-1))) <> 1
 --메일주소전체길이에서@를뺀길이가1이어야 하고

union
 select b.empl_email, b.empl_no, b.empl_nm, ".앞에3자이상이어야하며"
   from #M5_email_chk b
  where charindex('.',convert(varchar(200),(ltrim(rtrim(b.empl_email))))) < 3
 --.앞에3자이상이어야하며

union
 select b.empl_email, b.empl_no, b.empl_nm, "@가메일주소맨앞이아니고.인연속이지 않아야한다"
   from #M5_email_chk b
  where charindex('.@',b.empl_email) > 0
 --@가메일주소맨앞이아니고.인연속이지 않아야한다

union
 select b.empl_email, b.empl_no, b.empl_nm, "@가메일주소맨앞이아니고.인연속이지 않아야한다 "
   from #M5_email_chk b
  where charindex('..',b.empl_email) > 0
 --@가메일주소맨앞이아니고.인연속이지 않아야한다

정병희(buxbany)님이 2007-10-10 19:54에 작성한 댓글입니다.

^^ 답글 너무너무 감사드려요.

주석까지 달아주시고,,

너무 많은 도움됐어요


감사드려요 (--)(__); 꾸벅~~

그럼 좋은 하루 보내시고요~~

하시는 일마다 좋은일만 가득가득 하길 바랄께욤

안녕히계세요~~~ ^^


감사해요님이 2007-10-11 16:02에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2062세로를 가로로 표현하고 싶습니다. [1]
박민재
2007-10-12
7318
2061혹시.. [1]
초보자
2007-10-10
6305
2059채번누락 건 찾기
초보나라
2007-10-10
6587
2058이메일, 핸드폰 유효성 체크 쿼리 [2]
질문
2007-10-10
8909
2057client socket shut down
정우리
2007-10-10
6773
2056java.sql.SQLException: JZ006 에러발생
이기수
2007-10-09
11457
2055connection time out and cpu 100
정우리
2007-10-09
6611
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다