Rob*_*ert 4 regex mysql sql contains sql-like
我有一个表,其中包含一堆用逗号分隔的数字。
我想从表中检索字符串中包含确切数字而不是部分数字的行。
例子:
CREATE TABLE IF NOT EXISTS `teams` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`uids` text NOT NULL,
`islive` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
INSERT INTO `teams` (`id`, `name`, `uids`, `islive`) VALUES
(1, 'Test Team', '1,2,8', 1),
(3, 'Test Team 2', '14,18,19', 1),
(4, 'Another Team', '1,8,20,23', 1);
Run Code Online (Sandbox Code Playgroud)
我想搜索 1 在字符串中的位置。
目前,如果我使用 Contains 或 LIKE,它会返回所有带有 1 的行,但 18、19 等不是 1,但其中确实有 1。
我需要做正则表达式吗?
你只需要1个条件:
select *
from teams
where concat(',', uids, ',') like '%,1,%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1075 次 |
| 最近记录: |