2016-02-12 174 views
-1

我有兩個逗號分隔的字符串。 String1 ='ABC,DEF,PQR,MNO,XYZ' String2 ='PQR,FGH' String3 ='GHI,JKL,TUV' 現在我想要比較string1和string2,它會返回true,因爲String2有值'PQR'與String1匹配。但是,如果我比較String1和String3,它將返回false,因爲沒有任何來自字符串3的字符串與String1匹配。 注意:這兩個字符串我都使用了Group_concat函數。使用MYSQL比較兩個字符串

+3

[主題已在此討論](http://stackoverflow.com/questions/15280956/how-to-compare-two-comma-separated-strings-and-return-true-if-there-is-at至少)和[這裏也是](http://stackoverflow.com/questions/15693316/compare-comma-delimited-strings-in-sql) – mitkosoft

+0

這種類型的問題一再問到堆棧溢出。大多數人給出的第一個答案是(大聲呼喊):正確地規範你的數據。除非你有非常好的理由,否則將數據作爲逗號分隔的字符串存儲在數據庫中是一個糟糕的主意。逗號之間的項目應該在與主表格具有一對多或多對多關係的單獨表格中。 – rghome

+0

這是可能的,但也許是可以避免的。你可以把你的實際查詢獲得這些數據,看看是否有辦法避免這樣做?如果不是,你可以編寫一個MySQL函數來執行它(不幸的是@mitkosoft的建議是針對MsSql而不是MySQL的),或者在SQL語句中使用一些技巧來做,但是如何去做取決於你如何獲取數據。如果你已經從你的數據庫中找到它,那麼最好在你的調用腳本中完成它 – Kickstart

回答

0

我使用FIND_IN_SET()函數得到了解決方案。 感謝您的努力。