创建表不需要单引号 。mysql需要。oracle中倒是有个chr(39)可以转成单引号
成都创新互联是一家专业提供滑县企业网站建设,专注与网站建设、做网站、HTML5建站、小程序制作等业务。10年已为滑县众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
单引号:在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。
双引号:在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。
select
first_name
as
"first
name"
from
l_employees
order
by
"first
name"
在加别名时,别名用的是英文字符的双引号,在双引号内,输入中文字符的双引号可以显示出来,不知道是要这个吗?
select '''||' from dual
||正常引到引号中,就是字符了。
而单引号,需要前边再加一个单引号转义。 ''''四个单引号,前后两个表示字符串两端的单引号,中间部分是字符串。而中间有两个单引号,第一个是转义字符,表示把第二个转成字符串的单引号。第二个,就是外围两个单引号引住的实际的字符串的单引号。
您看看我列出的那个select的结果就知道了
oracle字符串是不可以用双引号的,只能用单引号你嵌套的话,就转义一下就可以了连续两个单引号表示转义像你的可以改成update
t1
set
name=''我的名字:'小高'。''
//注意是两个单引号
而不是双引号
你这样 如果要插入的字符串中有单引号, 那么就需要skip掉。
先用个简单的例子, 比如你要显示 I'm 27 years old 作为字符串。
那么:
select 'I''m 27 yrs old' from dual; -- 这里看好: 最外层2个 单引号是说明后面是字符串。
里面的内容变成了 I''m ..... 用了2个单引号。 第一个是表示“跳过”, 而不作为整个字符串的结尾。 第二个是真的内容。
所以, 你如果要插入以上的SQL整个句子作为字符串,
那么就:
insert into tableT (testcolumn)
values (' select * from abc where a=''ab'' and b=''aa'' and c=''aa''');
每个单引号前面加上一个单引号“跳过” 而不进行字符串结尾处理。