以筛选器为中心的列SQL Oracle

以筛选器为中心的列SQL Oracle,sql,oracle,Sql,Oracle,我尝试从Oracle数据库创建查询。 也就是说,选择FROM和WHERE。 “组织”列居中,始终有4个字母。我想在一个特定的项目/值上进行筛选。 我已经有了WHERE ORG='HHAH' 或者使用SBSTRG(组织…: 不知怎的,什么都不管用。 有人知道吗?您需要接线员吗: WHERE ORG LIKE '%HHAH%' 或 要搜索包含以下内容的值:“HHAH” 我在列中的值是“HHAH”而不是“HHAH”。值前后都有空格 可以使用以下命令删除前导空格和尾随空格: 在列值上使用函数将阻止使用

我尝试从Oracle数据库创建查询。 也就是说,
选择FROM和WHERE
。 “组织”列居中,始终有4个字母。我想在一个特定的项目/值上进行筛选。 我已经有了
WHERE ORG='HHAH'
或者使用
SBSTRG(组织…:
不知怎的,什么都不管用。 有人知道吗?

您需要接线员吗:

WHERE ORG LIKE '%HHAH%'

要搜索包含以下内容的值:
“HHAH”

我在列中的值是“HHAH”而不是“HHAH”。值前后都有空格

可以使用以下命令删除前导空格和尾随空格:


在列值上使用函数将阻止使用该列上的任何索引(就像带有前导通配符的
一样);除非为修剪后的值添加基于函数的索引,否则您对此无能为力。

我建议修复数据:

update t
    set org = trim(org);

我看不出有任何理由以
组织的名义存储空格。如果您需要用于报告目的的空格,请将它们放在那里。

您的要求非常不清楚……请添加示例表,显示您的预期输出,并添加您尝试的完整查询,而不是片段。此外,您所说的“居中”是什么意思?百分位是什么红色列?什么是SBRSTG?它只是Oracle数据库中的一个列,中间有4个字母,中间有7个空格,中间有四个字母,这意味着什么?我假设每一个单词超过4个字母中间有四个字母。在列中,我有“HHAH”的值,而不是“HHAH”。r和后面的值
WHERE TRIM(ORG) = 'HHAH'
update t
    set org = trim(org);