2011-11-28 6 views

Trả lời

19
DECLARE @email VARCHAR(100) 
SET @email = '[email protected]/IMCLientName' 

SELECT SUBSTRING(@email,0, CHARINDEX('@',@email)) 
+0

Cảm ơn Ian, đã hoạt động rất tốt. –

+0

Điều gì xảy ra nếu nhân vật không được tìm thấy? ví dụ. Nếu 'SET @email = 'firstname.lastname.email.com'', cái gì sẽ được chọn trong ví dụ này? – qJake

+2

@SpikeX một chuỗi trống sẽ được chọn. –

0

Dựa trên ví dụ Ian Nelson 's chúng ta có thể thêm một kiểm tra nhanh chóng vì vậy chúng tôi trả về giá trị ban đầu nếu chúng ta không tìm thấy chỉ số của chúng tôi.

DECLARE @email VARCHAR(100) 
SET @email = 'firstname.lastname.email.com/IMCLientName' 

SELECT CASE WHEN CHARINDEX('@',@email) > 0 
      THEN SUBSTRING(@email,0, CHARINDEX('@',@email)) 
      ELSE @email 
     END AS email 

Điều này sẽ trả về 'firstname.lastname.email.com/IMCLientName'. Nếu bạn đã sử dụng '[email protected]/IMCLientName' thì bạn sẽ nhận được 'firstname.lastname'.