在我的列中,我可以有一个字符串,如:"data+"或"data+data+data+."。(未定义时间(..+" 我只需要获取我有多个数据而不仅仅是一个数据的列。
我试过
mycol NOT LIKE '%+'
但是它没有用...
实际上我不知道数据它是一个变化的字符串:"blabla"或"aString"或"随便">
如果我在我的专栏中有
'jdsjpgsg+jdsjpgsg+', 'dvgff+', 'ffef+eefds+ghghgh+'
我只想选择
'jdsjpgsg+jdsjpgsg+',
'ffef+eefds+ghghgh+',
不是'dvgff+'
!
如果你想搜索'..xxx+.." 那么你应该使用xxx+%
如果要搜索"..+xxx.." 那么你应该使用%+xxx
如果要搜索"..++.." 那么你应该使用%++%
如果要搜索"..+..+.." 那么你应该使用%+%+%
这也是我得到的,我不想这样。这实际上是我不想选择的。如果我的表中有 jdsjpgsg+jdsjpgsg+,我想选择它而不是 jdsjpgsg+ 这很棘手......
因此,您可以尝试like '%+%+%'
只排除一个"+">
CREATE TABLE TestTable
(`text` varchar(90))
;
INSERT INTO TestTable
(`text`)
VALUES
('jdsjpgsg+jdsjpgsg+'),
('dvgff+'),
('ffef+eefds+ghghgh+')
;
select * from TestTable
where text like '%+%+%'
| text |
|--------------------|
| jdsjpgsg+jdsjpgsg+ |
| ffef+eefds+ghghgh+ |
SQL 小提琴演示链接
%
是通配符。您应该在data
之后使用该%
。尝试像:
SELECT * FROM `table` WHERE `mycol` NOT LIKE 'data+%'
上面的查询将过滤掉data+
之后具有任何字符的所有记录。