Oracle LIKE条件返回空结果

Kam*_*ill 1 sql oracle sql-like

我想在sqlplus中运行"Like query",但查询没有返回预期的结果.这是查询.

select *
from field
where id like 'D.2._';
Run Code Online (Sandbox Code Playgroud)

我期待的结果包括id D.2.1,D.2.2,D.2.3等(但不是D.2.11).

我错过了什么?我需要在Sqlplus和SQL开发人员中使用此查询.

Luk*_*zda 5

列中可能有空格:

select *
from field
where TRIM(id) like 'D.2._';
Run Code Online (Sandbox Code Playgroud)

我建议改变模式并使用VARCHAR2(10)数据类型而不是CHAR(10).

select *
from field
where id like 'D.2._';
Run Code Online (Sandbox Code Playgroud)

DBFiddle演示

  • CHAR(10)是空间填充的. (2认同)
  • @ lad2025...在Oracle中,通常建议使用`varchar2()`. (2认同)