2011-11-28 53 views

回答

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

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

謝謝伊恩,這工作得非常好。 –

+0

如果找不到該字符會怎麼樣?例如如果'SET @email ='firstname.lastname.email.com'',這個例子中選擇了什麼? – qJake

+2

@SpikeX將選擇一個空字符串。 –

0

大廈Ian Nelson的例子中,我們可以添加一個快速檢查,所以我們返回初始值,如果我們沒有找到我們的索引。

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 

這將返回'firstname.lastname.email.com/IMCLientName'。如果您使用'[email protected]/IMCLientName',那麼您將收到'firstname.lastname'。

相關問題