2009-06-14 3 views
4

Привет всем я пытаюсь перейти на новый почтовый сервер, поэтому я хочу, чтобы написал Mysql сценарий, чтобы вернуть таблицу в следующем затем экспортировать результат в CSV файл SQL заявление в следующемMysql подстрока

`select email,clear,email AS domain from postfix_users ` 

я хочу подстроки любые символы, предшествовавших @ и символ @ iteself перед доменным именем какие-либо идеи, было бы здорово помочь

mysql> select email,clear,email AS domain from postfix_users ; 

+---------------------------+--------+---------------------------+ 
| email      | clear | domain     | 
+---------------------------+--------+---------------------------+ 
| [email protected]   | passw | [email protected]   | 
+---------------------------+--------+---------------------------+ 
+0

нечитаемым. пожалуйста, отформатируйте – jitter

ответ

13

Вы можете использовать LOCATE, чтобы найти позицию @:

LOCATE('@',email) 

Так, чтобы найти домен:

SELECT CASE 
    WHEN LOCATE('@',email) = 0 THEN '' 
    ELSE SUBSTRING(email,LOCATE('@',email)+1) 
    END as Domain 
FROM YourTable 
+0

, как насчет выбора электронной почты и четких полей в том же самом заявлении –

+0

Добавьте «email, clear», сразу после SELECT. Или «, электронная почта, очистить» сразу после домена. – Andomar

+0

Я попробовал это, он работал выберите SUBSTRING_INDEX (email, '@', 1) AS email, clear, SUBSTRING (email, LOCATE ('@', email) +1) как домен от postfix_users; –

Смежные вопросы