MySQL有关获取concret列的问题

时间:2018-09-21 16:29:44

标签: mysql sql

我的数据库中有一个表,其中包含以下信息:

活动:R1A1,R1A2,R1A2_2

我的问题是我试图获得不包含第二部分(_2)的所有活动。

我正在尝试以下查询:SELECT activity FROM table_name WHERE activity NOT LIKE '%_2',但是我仅获得活动R1A1。这是因为R1A2在其名称上包含第二个数字。我该如何解决?正确的查询是什么?我想获得所有没有_2或类似名称的活动。

如果我采用逆方法(SELECT activity FROM table_name WHERE activity NOT LIKE 'R1%',我会得到正确的结果。

如何获得所需的东西?感谢您的回答!

2 个答案:

答案 0 :(得分:1)

在MYSQL中,下划线是通配符,与%相似,只不过它匹配一个字符。您可以使用\对其进行转义以获得文字。

这是正确的查询:

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

答案 1 :(得分:0)

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

SELECT activity
FROM table_name
WHERE activity NOT LIKE '%$_2' ESCAPE '$';
相关问题