使用LIKE的SQL不会返回任何内容(SQLite)

时间:2015-03-25 16:22:19

标签: sql sqlite

我尝试使用此SQL表达式过滤结果:

SELECT ModelName, ModelSvmData, TrainedFeatureInfo, TrainedClassesInfo 
FROM Models 
WHERE NOT ModelName LIKE '_%'

(实际过滤下划线的名称)

不幸的是没有结果。 列ModelName包含2行main_main

任何提示?

2 个答案:

答案 0 :(得分:5)

下划线字符是LIKE子句中的通配符,用于匹配任何单个字符。如果要查找文字下划线,则需要将其转义,以免将其视为通配符。

...WHERE ModelName NOT LIKE '\_%' ESCAPE '\'

答案 1 :(得分:3)

这是正确的语法:

SELECT ModelName, ModelSvmData, TrainedFeatureInfo, TrainedClassesInfo 
FROM Models 
WHERE ModelName NOT LIKE '\_%'`

您需要使用_转义\,因为_本身是一个外卡字符。 您可以看到其他示例here