繁体   English   中英

插入数据库时​​在数据中包含单引号

[英]Including single quote in data while inserting to database

我有一个字符串“我爱麦当劳的汉堡。那是最好的。”

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

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

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

但是,如果我使用“”来包含“”,则字符串中会出现一个额外的“”,这会影响我计算15个字符的破损。

还有其他方法可以包含“而不必再使用一个”来转义它吗?

请帮忙。

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

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;

将复杂文字(特别是表示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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM