2014-05-20 3 views
0

전자 메일이 제대로 입력되지 않은 users라는 테이블을 업데이트하는 쿼리를 원합니다. 이처럼전자 메일 주소의 @ 텍스트 뒤에 부분적으로있는 문자열을 대체 할 SQL 업데이트 문

:

[email protected] 
[email protected] 
[email protected] 
[email protected] 

나는 @ 후 모든 텍스트를 지원하십시오 @gma 또는 @gmail.co 또는 @gmail 또는 gmai

로 끝나는 모든 텍스트 gmail.com로 설정되어 있는지 확인하는 질의를 필요로 나를!

현재 SQL Server 2008 Express Edition을 사용하고 있습니다.

+0

처럼 일하는'UPDATE' 문 구문은 RDBMS에 상당히 의존한다. 따라서 어떤 데이터베이스를 사용하고 있는지 알려 주시면 시작할 수 있습니다. – Lamak

+0

어떤 데이터베이스를 사용하고 있습니까? 그리고 어떻게 기록을 갱신 할 것입니까? –

+0

MSSQL 2008 EXPRESS 에디션을 사용하고 있습니다. – PraneethArnepalli

답변

2
UPDATE YourTable 
SET Email = LEFT(Email,CHARINDEX('@',Email))+'gmail.com' 
WHERE Email LIKE '%@gma' 
OR Email LIKE '%@gmail.co' 
OR Email LIKE '%@gmail' 
OR Email LIKE '%gmai' 

Here is 데모가있는 sqlfiddle. 답장에 대한

╔════════════════════╗ 
║  EMAIL  ║ 
╠════════════════════╣ 
║ [email protected] ║ 
║ [email protected]  ║ 
║ [email protected] ║ 
║ [email protected] ║ 
╚════════════════════╝ 
+0

초고속 응답을 보내 주셔서 감사합니다.이 쿼리에서 문제가 발생했습니다. 모든 이메일을 @ gmail.com으로 업데이트 중입니다. 나는 @ yahoo.com과 같은 더 많은 메일 아이디를 가지고있다. ... 나는 그들에게 손상되지 않기를 바란다. Gmail 메일 만 변경해야합니다. – PraneethArnepalli

+0

@ user3657960 좋아요, 질문을 잘못 읽었습니다. 업데이트 된 답변 – Lamak

0

감사 :

그리고 여기 결과입니다. 나는 대답을 얻었습니다.

UPDATE TBLEmails 
SET PersonEMail = substring(PersonEMail, 
          1, 
          CHARINDEX ('@', PersonEMail, 1) 
        ) + 'gmail.com' 
WHERE PersonEMail LIKE '%@gmai%' 

는 매력