【问题标题】:Oracle 10g - Escape quote in insert statementOracle 10g - 插入语句中的转义引号
【发布时间】:2011-03-16 13:35:23
【问题描述】:

我正在尝试将人的身高以 5'9 的形式插入到数据库中

我如何正确地转义引用以便我可以做到这一点。到目前为止,我的插入语句看起来像这样。

INSERT INTO height(id, height) 
VALUES(height-seq.nexval, '5\'9');

反斜杠显然不起作用,我对 oracle 还是很陌生。谢谢

【问题讨论】:

    标签: oracle oracle10g


    【解决方案1】:

    Oracle 使用标准 SQL:

    插入高度(id,高度) 值(高度序列。nexval,'5''9');

    (是的,有两个单引号)

    【讨论】:

    • 有什么 oracle 函数可以实现这个吗?当有单引号时,我在插入 blob 列时遇到问题
    【解决方案2】:

    如果您使用某种编程语言从前端执行此操作,请考虑使用参数化查询,如果您在 psql 或其他工具中执行此操作,则只需使用 '5''9' 即可正常工作

    【讨论】:

    • blogspot 还没有前端,只是通过 SQL 开发人员用一些数据填充我的数据库。但是谢谢我稍后会使用参数化查询。
    【解决方案3】:

    我讨厌双引号,这是一团糟。幸运的是,这些天我们有了引用运算符:

    q'{delimiter}string{delimiter}'
    
    INSERT INTO height(id, height) 
    VALUES(height-seq.nexval, q'#5'9#');
    

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 2022-10-13
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多