【发布时间】:2022-08-24 15:02:22
【问题描述】:
我想排除地址列中以字母 C、G 或 S 开头的字符串。
我试过这个表达,
SELECT * FROM guest_list
WHERE address NOT LIKE (\"C%\" OR \"F%\" OR \"G%\");
它给了我这样的警告:
\'Warning: truncated incorrect DOUBLE value: \'C%\'
\'Warning: truncated incorrect DOUBLE value: \'G%\'
这是创建我的表的脚本。
CREATE TABLE `guest_list` (
`id` int(11) NOT NULL,
`first_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `guest_list` VALUES (1001,\'Jim\',\'Dowd\',\'Lewisham West and Penge\'),
(1002,\'Lyn\',\'Brown\',\'West Ham\'),(1003,\'Ann\',\'Clwyd\',\'Cynon Valley\'),
(1004,\'Nic\',\'Dakin\',\'Scunthorpe\'),(1005,\'Pat\',\'Glass\',\'North West Durham\'),
(1006,\'Kate\',\'Hoey\',\'Vauxhall\'),(1007,\'Mike\',\'Kane\',\'Wythenshawe and Sale East\'),
(1008,\'John\',\'Mann\',\'Bassetlaw\'),(1009,\'Joan\',\'Ryan\',\'Enfield North\'),
(1010,\'Cat\',\'Smith\',\'Lancaster and Fleetwood\'),(1011,\'Mark\',\'Tami\',\'Alyn and Deeside\'),
(1012,\'Keith\',\'Vaz\',\'Leicester East\'),(1013,\'Ian\',\'Austin\',\'Dudley North\'),
(1014,\'Liam\',\'Byrne\',\'Birmingham, Hodge Hill\'),(1015,\'Ann\',\'Coffey\',\'Stockport\');
请用 LIKE 执行此操作的正确方法是什么(如果不使用正则表达式)?