Oracle数据库12c中基于MYSQL的查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库12c中基于MYSQL的查询相关的知识,希望对你有一定的参考价值。

以下查询在mysql数据库中工作正常。

select * from accounts where preferred_email like "%p.rajesh%";
select * from account_external_ids where external_id like "%p.rajesh%";

当我尝试运行时遇到错误时,我们有Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit

select * from accounts where preferred_email like '%p.rajesh%';
ERROR: ORA-00933: SQL command not properly ended

select * from account_external_ids where external_id like '%p.rajesh%';
ERROR: ORA-00933: SQL command not properly ended

[Oracle似乎没有处理分号。我是Oracle的新手,能否帮助我在Oracle中的MYSQL查询之上运行?

答案

在Oracle中,双引号代表标识符(例如表名或列名)。在这方面,它符合标准的ANSI SQL。

您需要文字字符串,因此应改为使用单引号。 MySQL允许对字符串使用单引号和双引号,我个人觉得这很令人困惑。

select * from accounts where preferred_email like '%p.rajesh%';
select * from account_external_ids where external_id like '%p.rajesh%';

底线:对于字符串文字,始终使用单引号;我认为可以支持的所有数据库(而且大多数数据库都不允许这样做)。

以上是关于Oracle数据库12c中基于MYSQL的查询的主要内容,如果未能解决你的问题,请参考以下文章

12C -- ORA-01033: ORACLE initialization or shutdown in progress

ORACLE 12C 插入数据遇到 Error getting generated key or setting result to parameter object错误

ORACLE 12C 插入数据遇到 Error getting generated key or setting result to parameter object错误

oracle 12c 列式存储 ( In Memory 理论)

基于CentOS7安装部署 Oracle 12c

基于CentOS7安装部署 Oracle 12c ?