我有一个WHERE子句,其中我只想返回field1包含"F"的记录,但它 Select 了任何包含"F"的值,"_"没有被查看吗?

例. 字段1 JBHi-Fi JBHiFi_F_1234

select * from table1
where field1 like "%_F_%"

推荐答案

_ is considered as wild card like % and it means search for 1 character. So, your query is as good as '%F%'. If you want to search for a pattern like %_F_%' then you need to use this \ as escape character.
Use

where field1 like "%\_F\_%"

Sql相关问答推荐

使用自动增量ID插入失败(无法将值空插入列ID)

判断Pyspark生成的SQL查询

如何在不更改S代码的情况下,判断存储过程调用了多少次clr函数?

Access中执行INSERT INTO查询时出现错误消息

收到%1、%2或%2邮箱的唯一客户

判断序列索引处的序列是否完整

查询页面推荐

从结果SQL查询中排除空值

明细表中没有记录如何更新主表的值为0

两个月之间的WHERE CASE WHEN-ORA-00905:缺少关键字

无法访问级联删除导致的触发器中已删除的外键记录

SQL:使用年/月/日分区查询某个时间段的数据

YEAR 函数仍然不可SARGable 吗?

确定小数中使用的精度位数

SQL ORACLE - 查找连续天数

在多个表上递归查找

如何根据另一列对行值进行分组?

具有关联统计信息 N+1 的 Rails 6 索引资源?

如果当前日期是一周中的某一天,则从另一天提取结果

如何在 Oracle 中获取此变量的值?