MySQL
1CREATE TABLE `test`.`test` ( `date` DATE NOT NULL , `ch` VARCHAR(255) NOT NULL , `code` INT UNSIGNED NOT NULL ) ENGINE = InnoDB; 2 3INSERT INTO `test` (`date`, `ch`, `code`) VALUES 4('2021-11-01', '2021-09-05,2021-09-15', '1'), 5('2021-11-02', '2020-10-05,2021-11-15', '3'), 6('2021-11-03', '2019-10-20,2021-12-15', '1'), 7('2021-11-04', '2020-10-03,2021-8-15', '3'), 8('2021-11-05', '2020-10-03', '1'), 9 ('2021-11-06', '2021-10-10', '3')
上記のようなテーブルがあった際に、カラムch
にVARCHARとして格納されている日付で検索をかけ、(例えば2020-10-03)、
[1]2020-10-03のみの行
[2]2020-10-03を含む(他の日付もカンマ区切りで併記されている)行
をそれぞれ区別して取得したいのですが、WHERE句の書き方がイマイチよくわかりません。
MySQL
1SELECT * FROM `test` WHERE `code`='3' AND `ch` LIKE '2020-10-03'
現状はこれで2020-10-03をカラムch
に含むレコードを抽出して、PHP側で判別をかけていますが・・・SQL側で上記条件をどうにかする方法ってありませんか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。