2014-10-09 67 views
-1

表格的以下字段:SQL省略值,如果匹配

AttorneyEmail(varchar(150), null) 

可以有多個電子郵件地址,但在所有的「[email protected]」這個電子郵件地址。

我有Where子句中的以下在結果未包括:

and aa.AttorneyEmail NOT LIKE ('helpdesk%') 

但它仍然沒有。

任何幫助,將不勝感激。

Regards,

+4

單個字段中的多個地址(yuk!)? - '和aa.AttorneyEmail不喜歡('%helpdesk%')'? – 2014-10-09 15:18:11

+0

'VARCHAR(150)'可能不足以支持單個電子郵件地址([最大長度爲254個字符](http://stackoverflow.com/q/386294/1048425)),更不用說多個電子郵件地址!作爲@AlexK。已經表示,單個領域的多個電子郵件地址不是一個好主意 - 您可能希望閱讀「一對多關係」。 – GarethD 2014-10-09 15:31:13

+0

將多個值存儲在單個元組中違反了1NF。規範化您的數據,您的生活將變得更加輕鬆。如果你有很好的ddl,那麼dml非常簡單。 – 2014-10-09 15:35:09

回答

0

你說的沒什麼意義。如果每行在其AttorneyEmail值中包含幫助臺地址(如您所說),那麼您正試圖使用​​的WHERE謂詞(拼寫爲@AlexK演示)將排除所有行。 (此外,這樣的數據庫結構相當醜陋。)

在這種情況下,如果要從結果中的列值中剝離幫助臺地址,那麼您需要在選擇列表中執行此操作

SELECT REPLACE(aa.AttorneyEmail, '[email protected]', '') AS AttorneyEmail, 
... 

您可能需要調整以刪除多餘的分隔符;我無法確切地說出這是因爲我不知道你是如何構建價值觀的。

+0

約翰: 這工作! REPLACE(aa.AttorneyEmail,',ais.helpdesk @ dns.org','')爲AttEmail 謝謝 – jr7138 2014-10-10 19:21:23