2016-09-14 120 views
0

我有問題與我的學習項目在MySQL中創建數據庫。 我已經使用LOAD將數據從CSV文件導入到我創建的表中。現在當我執行select * from mytable一切都顯示完美,但是當我執行select * from bi_jogging.routes as r where r.Creator_Email="[email protected]" 我什麼也得不到。MySQL返回沒有結果從select * where varchar =「」查詢

電子郵件是在那裏,我試過不同的語法選項,但它似乎是別的東西,我懷疑與varchar格式的東西,我真的沒有什麼在腦海中。

對於其他表格,它的工作正常,其他人沒有。

+0

你什麼也沒得到或錯誤? – bhttoan

+0

什麼也沒有,完全沒有錯誤。只是空的結果。它顯然也會影響連接查詢,當條件加入時(r.mail = p.mail)也沒有結果 – Johnny

+0

用於測試在'where子句中嘗試'LIKE'運算符,'r.Creator_Email LIKE'%[email protected]%'; '。 –

回答

1

您可以嘗試使用查詢:

select * from bi_jogging.routes as r where r.Creator_Email like "%[email protected]%" 

如果像運營商展示了結果,那麼有可能是空格的電子郵件,請仔細檢查..

對於連接試試這個:

select * from bi_jogging.routes as r join bi_jogging.buddies as b 
on b.Email like '%r.Creator_Email%' 
+0

LIKE運算符工作正常。但看看從bi_jogging.routes選擇*作爲r加入bi_jogging.buddies作爲b上r.Creator_Email = b.Email,那些匹配電子郵件,但沒有結果。 – Johnny

+0

在加入你也可以使用像運營商.. –

+0

首先,感謝您的回覆,我現在明白問題在於來自CSV的原始數據,但我必須堅持使用帶有「=」的常規聯接,因爲我隨後在Talend軟件上執行聯接(用於ETL過程) 。無論如何要修復數據?我找不到任何空間或任何 – Johnny

0

我認爲它應該工作。再次檢查相同的代碼。

SELECT * FROM bi_jogging.routes爲r其中r.Creator_Email='[email protected]

0

我發現空格幾封郵件後,MySQL表,所以我想這是它。在這一個8小時燒了,謝謝大家。我不能看它發現在郵件的結尾空格,我只好打回退地看到,只有經過兩次命中的最後一個字符將被刪除

幫我:UPDATE bi_jogging.results set Mail_Found = TRIM(Replace(Replace(Replace(Mail_Found,'\t',''),'\n',''),'\r',''));

0

如果[select * from mytable ]這是有效的,然後嘗試從結果中複製電子郵件並將其粘貼到where子句中。

引號之間可能有衝突。

您的表條目包含引號? 檢查正確。我認爲你在表格中有引號,所以當你嘗試這樣的時候,所以當你嘗試這個時,你會得到結果。 表內[email protected]"[email protected]"是完全不同的。