代码之家  ›  专栏  ›  技术社区  ›  Ali Sheikhpour

从SQL比较中排除隐藏字符

  •  0
  • Ali Sheikhpour  · 技术社区  · 6 年前

    我想在一个列中搜索,其中有些行有隐藏字符。当我使用 = 操作员没有结果:

    SELECT * 
    FROM result 
    WHERE destination = 'x'
    

    当我使用like运算符时,结果比我期望的要多 = 操作员。

    SELECT * 
    FROM result 
    WHERE destination LIKE '%x%'
    

    我想原因是 = 运算符没有结果是因为我最初已将Excel文件转换为Microsoft Access .MDB 数据库文件和数据列中有一些隐藏字符(我不知道这些隐藏字符是什么)。

    当我将它们与X比较时,如何排除列中的所有隐藏字符?是否有完整的隐藏字符列表,所以我可以使用 replace 功能?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Gnudiff    6 年前

    如果隐藏字符是空白,您应该能够使用

    Trim(destination) ='x'
    

    不管你最确定的是 应该 要做的是修复数据,这样就不会有隐藏的字符,否则以后会遇到各种意外的问题。