2012-09-11 41 views
6

Bảng Email:Làm cách nào để thay thế chuỗi con của chuỗi trước một ký tự cụ thể?

Values:

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

Tôi muốn thay thế các chuỗi trước @ với test.

Kết quả:

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

Làm thế nào để sử dụng substringing và thay thế dựa trên một nhân vật trong chuỗi?

+0

nào bạn sử dụng bất kỳ ngôn ngữ phía máy chủ? – Breezer

Trả lời

5

Bạn thậm chí không cần phải sử dụng substring hoặc replace, bạn có thể sử dụng này:

SELECT 'test' + RIGHT(email, charindex('@', REVERSE(email))) 
FROM YourTable 

Bạn có thể kiểm tra nó ra với điều này:

DECLARE @email nvarchar(50) 
SET @email = '[email protected]' 
PRINT 'test' + RIGHT(@email, charindex('@', REVERSE(@email))) 
+0

đẹp! cảm ơn! :) – Testifier

+1

@Testifier bạn đã thử tất cả các giải pháp chưa? –

+0

không phải tất cả, chỉ là cái này. – Testifier

1

Bạn có thể

select 'test' + substring(fld, charindex('@', fld), len(fld)) 
+0

+1 để có câu trả lời hay hơn số được chọn –

Các vấn đề liên quan