繁体   English   中英

MySQL使用喜欢匹配特定字符串

[英]MySQL using like to match specific string

在我的列中,我可以使用诸如“ data +”或“ data + data + data + ..(undefined times).. +”之类的字符串,我只需要获取具有多个数据而不仅仅是一个数据的列。

我尝试过

mycol NOT LIKE '%+'

但这没用...

其实我不知道数据是一个可变的字符串:“ blabla”或“ aString”或“ whatever”

如果我在专栏中

'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+之后具有任何字符的所有记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM