Oracle - 使用前导或尾随空格查找值

lea*_*sql 7 sql oracle

我试图找出某个列是否需要TRIM函数.

如何确定表中的此列是否具有在实际数据之前或之后具有空格的记录.

Nic*_*ver 15

您可以使用TRIM函数本身进行检查,而不是最有效但准确的:

Select *
From TableA
Where MyColumn <> TRIM(MyColumn)
Run Code Online (Sandbox Code Playgroud)

虽然如果你正在检查然后转向修剪,你可能想要在第一时间做,就像这样:

Select TRIM(MyColumn) as TrimmedMyColumn
From TableA
Run Code Online (Sandbox Code Playgroud)

  • 是的,这有效.但意识到这意味着每个查询都是全表扫描.如果进行大量查询,请考虑将数据更新为没有空格. (2认同)
  • @bwawok - +1 - 如果你总是使用它像这样它极大地更好,使之成为一次时间成本和做一个更新,不知道在这种情况下,有机磷农药的情况. (2认同)

Mar*_*ith 8

快速而肮脏的方式

WHERE LENGTH(TRIM(COL1)) <> LENGTH(COL1)
Run Code Online (Sandbox Code Playgroud)