插入数据库时​​包括数据中的单引号

时间:2015-04-17 04:21:44

标签: database string oracle insert

我有一根字符串"我喜欢麦当劳的汉堡包。它是最好的。"

我想将它插入一个列,将它们分成15个字符串。

因此我需要将结果作为插入3行的字符串

I love McDonald
's burgers. it'
s the best.

但如果我使用' '包括',额外'字符串中存在将影响我15个字符破损的计算。

还有其他方法可以包含'无需再使用一个'逃避它?

请帮忙。

2 个答案:

答案 0 :(得分:0)

如果您将字符串分解为变量,则无需添加额外的内容:

DECLARE
  mcdonald_string VARCHAR2(50) := 'I love McDonald''s burgers. it''s the best.';
BEGIN
  WHILE LENGTH(mcdonald_string) > 0 LOOP
    INSERT INTO your_table(your_field) VALUES (SUBSTR(mcdonald_string,1,15));
    mcdonald_string := SUBSTR(mcdonald_string,16);  
  END LOOP;

  COMMIT;
END;

答案 1 :(得分:0)

  

在复杂的字面值中加倍引号,   特别是代表SQL语句的一个,可能很棘手。您   也可以使用以下表示法来定义自己的分隔符   文字的字符。您选择不存在的角色   在字符串中,然后不需要转义其他单引号   文字内的标记:

-- q'!...!' notation allows the of use single quotes
-- inside the literal
string_var := q'!I'm a string, you're a string.!';

http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/fundamentals.htm#sthref339