【问题标题】:how to use a string that contain ' in SQL "IN" clause如何在 SQL“IN”子句中使用包含 ' 的字符串
【发布时间】:2013-03-02 11:11:24
【问题描述】:

我有一个像'Apple's'这样的字符串值。我想在 SQL“IN”子句中使用这个字符串,如下查询

select * from tbl_fruit where nm_fruit IN(''Apple's'','Orange');

我怎样才能使上述查询正常工作?

非常感谢, Awais Afzal。

【问题讨论】:

    标签: sql select


    【解决方案1】:

    双引号,

    select * from tbl_fruit where nm_fruit IN ('Apple''s', 'Orange')
    

    但如果您在应用程序级别执行此操作,请确保参数化查询:)

    【讨论】:

    • 如果对查询进行参数化,则不必引用引号,至少在使用 Coldfusion 时不必引用。我认为 .net、php 等也是一样的。
    【解决方案2】:

    我发现 SQL 在搜索中正确地将 ASCII 单引号 (ALT 0146) 解释为撇号,而“IN”将其视为任何其他字符。现在我可以使用 Matt(ASCII 字符 0146)s Macintosh 搜索“Matt's Macintosh”,而不会弄乱我的列表或搜索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2011-08-11
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多