只是寻找另一种方法来删除整个查询中的多余空格(> 1)。我正在从Excel电子表格中获取Oracle查询的信息,因此,由于用户错误等原因,肯定会有一些多余的零,所以当我从excel获取信息时,它会在某些值之后有2个额外的空格因此,当我们通过应用程序查询时,我们不会从Oracle返回任何记录。我尝试过Trim(ds.Tables.Item(0).Rows.Item(k).Item(i).ToString.ToUpper)但这并没有删除某些值中的额外空格。是否有一些我不知道的SQL语句,或者可能是Trim不工作的另一个原因?
编辑:写错替换功能。
Original: string.Replace(" ", " ")
New: string = string.replace(" ", " ")
答案 0 :(得分:1)
请改用String.Replace(" ", String.Empty)
。 Trim
仅删除前导和尾随空格。
答案 1 :(得分:0)
在Oracle方面,您可以使用REGEXP_REPLACE
function,但需要将其应用于要从中删除多余空格的每列:
SELECT
REGEXP_REPLACE(myCol1, ' {2,}', ' ') AS myCleanCol1,
REGEXP_REPLACE(myCol2, ' {2,}', ' ') AS myCleanCol2,
FROM myTable
此处的示例查找所有出现的两个或多个空格(即第二个参数),并用一个空格(第三个参数)替换它们。
答案 2 :(得分:0)