例:
文字列は A、B、C の場合があります
B、C の場合もあります
C の場合もあります
A、B、または C が複数あります
文字に A、B、C が含まれる場合、fID が A、B、または C であるデータをクエリしたいとします。
文字に B、C が含まれる場合、データをクエリしたいとしますin fID fID B または C のデータ
CREATE TABLE `tab` (
`fID` VARCHAR(2) NULL DEFAULT NULL,
`fName` VARCHAR(10) NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
INSERT INTO `tab` (`fID`, `fName`) VALUES
('A', 'A01'),
(' A '、'A02')、
('A'、'A03')、
('A'、'A04')、
('B'、'B02')、
( 'B'、'B03')、
('B'、'B04')、
('B'、'B01')、
('B'、'B05')、
('C', 'C02')、
('C'、'C03')、
('C'、'C01')
;
入力した文字列は (または処理後のものであるとします) ) A、C、B 形式の場合、
厳密一致
select * from tab where find_in_set(fID, '$inp')
あいまい一致
select * from tab where '$inp' like concat('%', fID, '%')
xuzuning の回答に感謝します。find_in_set(fID, '$inp') を使用すると問題が解決しました