Oracle查询可以';即使参数应该返回一行,也不能返回一行

Oracle查询可以';即使参数应该返回一行,也不能返回一行,oracle,Oracle,我有一个tmp_表和一个现场接收机构(varchar2)。我不会提供其他字段来简化此操作 receiving_institution| ---------------------- 19 26 50 etc. select * from tmp_table where receiving_institution = '19' -> returns 0 row(unexpected result) select * from

我有一个tmp_表和一个现场接收机构(varchar2)。我不会提供其他字段来简化此操作

    receiving_institution|
    ----------------------
    19
    26
    50
    etc.

    select * from tmp_table where receiving_institution = '19' -> returns 0 row(unexpected result)
    select * from tmp_table where receiving_institution like '%19%' -> returns row(expected result)
第二个查询的结果返回“19”(无空格)。
当我通过键入将“19”手动编辑为“19”时,在这之后,第一个查询开始工作。我认为这取决于数据本身。顺便说一下,我也在主表(autho_活动)上测试了它,结果是一样的。

您需要显示确切的表架构定义以及其中的示例数据。这不会是oracle的错误。可能不仅仅是“19”,例如其他不可打印字符。在查询中使用TRIM(receiving_institution)=“19”。如果在进行此更改后得到行,则在接收值中有前导空格或尾随空格。这将是数据的伪制品,而不是Oracle错误。如果你愿意,你可以把它贴在这里,但基本上你只需要更仔细地调查它。当然,你的系统滥用表格的方式会使你的调查更加困难。也许你真的需要一张合适的临时桌子?退房