access oracle sql语句,Access、SQLServer、Oracle常见SQL语句应用区别

Access、SQLServer、Oracle常见SQL语句应用区别

关劲松 PMP

如果要兼容Access、SQL Server、Oracle三个数据库版本;我们在编写SQL语句的过程中,尽量使用一些通用的语句,但还是有些方面有些区别避免不了,现简单总结一下。

以下A代表Access,S代表SQL Server,O代表Oracle

1、取当前系统时间

A:Select Now()

S:Select Getdate()

O:Select Sysdate From Dual

2、连接字符串

A:&

S:+

O:||

3、字符串函数(截取字符串、大写、小写、查找字符串位置)

A:Mid、UCase、LCase、InStr

S:SubString、Upper、Lower、CharIndex

O:SubStr、Upper、Lower、InStr

4、判断取值语句

A:IIF

S:Case When Then

O:Decode

5、时间字段

A:要用#号分隔,或者转换为日期

SELECT * FROM Books WHERE RegDate = #2007-5-1# 或

SELECT * FROM Books WHERE RegDate = CDate(’2007-5-1′)

S:可以直接用''

SELECT * FROM Books WHERE RegDate = ‘2007-5-1′

O:To_Date

SELECT * FROM Books WHERE RegDate=To_Date('2007-05-01','yyyy-mm-dd')

6、数据类型转换

A:CStr,CInt,CDate

S:Convert,CAST

O:To_Char,To_Number,To_Date

7、Inser Into …..Select …From 语句

Insert Into a(ii,jj,kk) (Select ii,jj,kk From b)

这样的语句,在SQL Server以及Oracle中都不会有错,但在Access中会报:INSERT INTO 语句的语法错误。Access应该把后面Select语句的括号去掉,如下:

Insert Into a(ii,jj,kk) Select ii,jj,kk From b

同时这样写在SQL Server和Oracle中都不会有错

8、关键字

有些字母在Access,SQL Server中是关键字,需要用[ ]界定可解决问题,例如:at,name

9、别名

SQL Server和Oracle中字段起别名时as可以省略,Access不能

10、表名前缀

Select *,1 From A

这样的语句在Access,SQL Server中不会有错,但在Oracle中是不行的,必须要写成这样:

Select A.*,1 From A

11、如果语句中有:(冒号),例如有时间字段的查询:CalcDate=#2008-05-01 11:00:00#,在Access中一般会出现如下错误:不正常地定义参数对象。提供了不一致或不完整的信息。将相应

Query的ParamCheck 设为False即可。

12、Access中的逻辑值在库中为-1和0,而SQL Server中为1和0,所以写BoolField = 1这样的语句有兼容性问题,应该改为BoolField <> 0

13、Access的varchar(文本)型最大只有255,所以如果一个文本型字段大于255时,最好定义成备注型(Access中)或text型(SQL Server中)。

sqlServer存储过程与sql语句的区别

sqlServer   存储过程与sql语句的区别 sql存储过程与sql语句的区别: 从以下几个方面考虑: 1.编写: 存储过程:编写比较难: sql语句:相对简单: 2.性能: 存储过程:高,可移 ...

Oracle常见SQL语句

--创建表空间--create tablespace ts_namedatafile 'd:\test\ts_name.dbf' size 100mautoextend on --调整表空间大小--a ...

oracle常见sql语句优化

1.* 号引起的运行效率 尽量降低使用select * 来进行查询,当你查询使用*, 数据库会进行解析并将*转换为所有列. select count(si.student_id)  from Stud ...

oracle 中SQL 语句开发语法 SELECT INTO含义

oracle 中SQL 语句开发语法 SELECT INTO含义 在ORACLE中SELECT INTO是如何使用的,什么意思?和SQL SERVER的不一样?   和sqlserver的不一样sql ...

oracle常用SQL语句&lpar;汇总版&rpar;

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

oracle 常用sql语句

oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...

Oracle和SQL语句的优化策略(基础篇)

转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...

oracle的sql语句大小写

我相信大家都知道,oracle数据库是区分大小写的,而且oracle的默认为大写的,也就是说你在sql脚本上面写的sql语句,oracle运行的时候,它会自动转化为大写的.注意一下,我这里举例子的计算 ...

oracle之sql语句优化

oracle之sql语句优化 sql语句的优化 1.在where子句中使用 is null 或 is not null 时,oracle优化器就不能使用索引了. 2.对于有连接的列,即使最有一个是静态 ...

随机推荐

Lucene的评分&lpar;score&rpar;机制研究

首先,需要学习Lucene的评分计算公式—— 分值计算方式为查询语句q中每个项t与文档d的匹配分值之和,当然还有权重的因素.其中每一项的意思如下表所示: 表3.5 评分公式中的因子 评分因子 描 述 ...

Coding&period;net 代码管理快速入门

当项目创建好了之后,我们该如何上传代码到 coding 上呢? Coding 网站使用“ Git 仓库”(类似 github )来管理代码. 其操作原理在于:利用 git 服务,将本地的项目目录下的文 ...

URL编码CFURLCreateStringByAddingPercentEscapes使用&lpar;ARC&rpar;

URL 编码:CFURLCreateStringByAddingPercentEscapes If you have tried to send any information using a GET ...

C语言读写伯克利DB 3

gcc -o channeldb channel.c -db -Wall # -Wall参数等价于执行lint,即:进行代码的静态分析,它可以指出未初始化的变量,未使用的变量 #include &lt ...

【MongoDB】学习MongoDB推荐三本书

近期学习mongodb,感觉这三本书写得不错.非常大家分享一下:

一次 HTTP 请求响应过程的完整解析

因特网无疑是人类有史以来最伟大的设计,它互联了全球数亿台计算机.通讯设备,即便位于地球两端的用户也可在顷刻间完成通讯. 可以说『协议』是支撑这么一个庞大而复杂的系统有条不紊运作的核心,而所谓『协议』就 ...

js字符串转时间

function StrToDateTime(value) { if (value) { return (new Date(Date.parse(value.replace(/-/g, "/ ...

Android Studio2&period;0 教程从入门到精通Windows版

系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android Studio2 ...

解读 --- 基于微软企业商务应用平台 &lpar;Microsoft Dynamics 365&rpar; 之上的人工智能 &lpar;AI&rpar; 解决方案

9月25日微软今年一年一度的Ignite 2017在佛罗里达州奥兰多市还是如期开幕了.为啥这么说?因为9月初五级飓风厄玛(Hurricane Irma) 在佛罗里达州登陆,在当地造成了挺大的麻烦.在这 ...

Docker-创建和分享应用(3)

Dockerfile定义容器内环境中发生的事情.对网络接口和磁盘驱动器等资源的访问在此环境中进行虚拟化,该环境与系统的其他部分隔离,因此您需要将端口映射到外部世界,并具体说明要“复制”哪些 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值