mysql关于获取具体列的问题

epfja78i  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(201)

这个问题在这里已经有了答案

带下划线的类似mysql的查询(1个答案)
两年前关门了。
我的数据库中有一个表,其中包含以下信息:
活动:r1a1、r1a2、r1a2\U 2
我的问题是,我试图获取所有不包含第二部分(\ 2)的活动。
我正在尝试以下查询: SELECT activity FROM table_name WHERE activity NOT LIKE '%_2' 但我只得到活动r1a1。这是因为r1a2在其名称上包含一个数字2。我该怎么解决?正确的查询是什么?我想得到所有的活动没有2或类似的名字。
如果我用逆方法( SELECT activity FROM table_name WHERE activity NOT LIKE 'R1%' 我得到了正确的结果。
我怎样才能得到我需要的?谢谢你的回答!

6ie5vjzr

6ie5vjzr1#

在mysql中,下划线是一个通配符,很像 % 只匹配一个字符。你可以用它逃走 \ 得到字面意思。
以下是正确的查询:

SELECT activity FROM table_name WHERE activity NOT LIKE '%\_2'
wvt8vs2t

wvt8vs2t2#

中的下划线 LIKE 是匹配任何字符的通配符。你可以逃避。这里有一种方法:

SELECT activity
FROM table_name
WHERE activity NOT LIKE '%$_2' ESCAPE '$';

相关问题