2014-12-03 5 views
0

, пожалуйста, я хочу выбрать только электронное письмо в этих столбцах, Я использую T-sql, имя таблицы - по электронной почте, а столбец - emailfoundcolumn. Я пытаюсь использоватьПытаясь выбрать текст в столбце

SELECT CASE 
     WHEN CHARINDEX(':', emailfoundcolumn) > 30 
      THEN LEFT(emailfoundcolumn, CHARINDEX(':', emailfoundcolumn) - 1) 
     ELSE emailfoundcolumn 
     END 
FROM emailfound 

это образцы из значения в столбцах От: [email protected]

-----Original Message-----From: [email protected] 
-----Original Message-----From: [email protected] 
-----Original Message-----From: [email protected] 
-----Original Message-----From: [email protected] 
-----Original Message-----From: [email protected] 
-----Original Message-----From: [email protected] 

но значение просто возвращается предыдущий текст перед писем в колонка

+0

Попробуйте [ 'SUBSTRING()' функция] (HTTP://msdn.microsoft.com/en-us/library/ms187748.aspx) вместо 'LEFT()'. –

ответ

1

вы должны использовать right как вам нужна последняя часть строки

Это должно работать

right(@emailfoundcolumn, len(@emailfoundcolumn)-CHARINDEX(':', @emailfoundcolumn) - 1) 
Смежные вопросы