0%

SQL-单引号和双引号

Oracle中单引号和双引号有不同的用法,Oracle中的双引号和MySQL中的双引号也会有不用的结果。

Oracle

task表中有字段TASKTYPE,类型为varchar2(255)

不加单引号和双引号

不会区分大小写,默认大写。以下语句输出结果相同。

1
2
select TASKTYPE from task;
select tasktype from task;

加单引号

加单引号,结果为字符串。不是想要的结果。

1
select 'TASKTYPE' from task;

加双引号

加双引号,结果将严格区分大小写。

1
select "TASKTYPE" from task;

以下语句会报错,标识符不存在

1
select "tasktype" from task;

MySQL

task表中有字段TASKTYPE,类型为varchar(255)。

不加单引号和双引号

不会区分大小写,默认大写。以下语句输出结果相同。

1
2
select TASKTYPE from task;
select tasktype from task;

加单引号或双引号

加单引号或双引号,结果都为字符串。不是想要的结果。

1
2
select "TASKTYPE" from task;
select 'TASKTYPE' from task;