2012-09-22 61 views
1

我怎樣才能做這樣的事情:mySQL:在查詢中使用LIKE與SUBSTR?

SELECT * FROM .... WHERE wp_users.user_email LIKE '%SUBSTR(wp_callbacks.post_data, INSTR(wp_callbacks.post_data, 'payer_email')+19, 20)%'... 

我所試圖做的是查詢wp_callbacks表(即存儲在像S中的格式:11:「PAYER_EMAIL」; S:18:「一些.email @ gmail.com「...),然後查看來自wp_users的實際電子郵件是否與來自wp_callbacks表的電子郵件匹配。

問題是我不知道電子郵件本身有多長時間,所以我在SUBSTR調用中選取了一個隨機值(20)來抓取電子郵件本身的前20個字符,然後我想檢查user_email就是LIKE'%...%'那個值。

想法?

+0

你爲什麼把'SUBSTR'函數的字符串內,也什麼是多餘'%' –

+0

這只是爲了說明什麼,我試圖做的沒有試過。 ..我顯然不使用正確的語法,這就是我需要幫助的。我需要使用%...%來做LIKE,而不是完全匹配,以查看SUBSTR字符串是否實際位於原始電子郵件字符串(來自wp_users.user_email)內。 –

回答

3

怎麼樣 - 雖然

SELECT * 
FROM .... 
WHERE wp_users.user_email LIKE 
    CONCAT('%', 
    SUBSTR(wp_callbacks.post_data, INSTR(wp_callbacks.post_data, 'payer_email')+19, 20), 
    '%'); 
+1

CONCAT就是在...謝謝! –

+0

好 - 很酷的短語 - 要去偷;-) - 很高興它幫助 –