我們正在根據帳號驗證銀行名稱。在多字詞字符串中匹配單詞的單詞
第三方API在提供帳號時返回銀行的名稱。這是一個多字字符串,並且沒有可以返回的固定值列表。
我們需要檢查由API返回的銀行對照我們數據庫中的表中的銀行名稱列表。要做到這一點,我們有一張表格,裏面有我們希望用於匹配的銀行名稱的同義詞。請參閱下面的SQL。
要做到這一點,我們希望找到我們的表匹配「香港」的,「紅」或「上海」,如果API返回的「香港上海匯豐銀行」或「香港&上海匯豐銀行有限公司'等
看到我們希望匹配我們表中的一個單詞,針對多字字符串,我不知道如何在MySQL中執行此操作。
SQL在我們的數據庫中的銀行名稱表....
CREATE TABLE IF NOT EXISTS `bank_names` (
`bank_name_id` int(11) NOT NULL AUTO_INCREMENT,
`bank` varchar(50) NOT NULL,
PRIMARY KEY (`bank_name_id`),
UNIQUE KEY `bank` (`bank`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
INSERT INTO `bank_names` (`bank`) VALUES
('kong'),
('hong'),
('shanghai'),
('westminster'),
('citi'),
('citibank');
我已經試過......
SELECT *
FROM `bank_names`
WHERE bank LIKE '%Hong Kong and Shanghai Banking Corporation%';
這顯然是行不通的。
預先感謝您。
你可以使用'FIND_IN_SET'或'IN' ...,只要將你的字符串轉換爲數組並使用它們即可。 –