`
lijackly
  • 浏览: 71515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

几种数据库的语法的对比(整理中)

阅读更多

 

 

序号简述Access语法 SqlServer语法 Oracle语法DB2语法解决方案
01系统时间Date() GETDATE() SYSDATE  GetSysTimeStr
02连接字符串& + || + GetConcatStr
03截取字符串 SubString
SubStr
SubStringSubStringGetSubStr
04小写字符串LCaseLowerLowerLowerGetLowerStr
05大写字符串UCaseUpper
Upper
Upper
GetUpperStr
06查找字符串InStr
InStr
CharIndex
InStr
GetFindStr
07替换空值IIF+IsNullCoalesce
NvlCoalesceGetNullStr
08条件取值IIF Case+When+ElseDeCode或Case
IIF
GetCaseStr
09字段类型转换Str、var、….Convert或cast
To_Char,To_Number.GetConvertStr
GetConvertStr
10日期字符串
‘2004-10-9’
#2004-10-19#
‘2004-10-9’ GetDateStr
11最大值加1
    GetNextNumStr
12Like语句函数Like ‘101*Like ‘101%’
Like ‘101%’
 GetLikeStr
       

二、Access与SQLSERVER部分相同数据库函数及关键字列表

1、 函数

序号
简述 
01记数函数
Count
02最大值Max
   

三、Oracle与SqlServer的日期相减的处理

1、Oracle的日期形式的能够直接进行相减;

SqlServer的日期相减要用函数:DATEIFF(day,startDate,endDate)  (有+ 有-)

分享到:
评论
1 楼 抛出异常的爱 2008-01-29  
http://www.jb51.net/article/8222.htm
转贴放在自己blog就可以了
引用
三、Access与语句SqlServer的语句语法区别
1、 Inser Into …..Select …From 语句:
在ACCESS中以下语句
Insert INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index) (Select 200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index FROM PubSubJectAcc Where PubSubJectAcc.co_type='03')
中后面"(select 200201******.co_Type='03')"中的小括号("(",")")必须去掉才能执行,如下:
Insert INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index) Select 200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index FROM PubSubJectAcc Where PubSubJectAcc.co_type='03'
在SQL SERVER 中都可以
2、 Inner Join 语句1
StrSql:='select a.user_id,a.user_opcode,b.copy_name from sysuser a inner join (syscopysuser c inner join syscopys b on c.copy_id=c.copy_id) on a.user_id=c.user_id where
a.user_opcode=''' +EdtUserOpCode.text+''' And copy_name='''+Tmpcopyname +'''';
应该改为
StrSql:='select a.user_id,a.user_opcode,b.copy_name from sysuser a inner join (syscopysuser c inner join syscopys b on c.copy_id=d.copy_id) on a.user_id=c.user_id where
a.user_opcode=''' +EdtUserOpCode.text+''' And copy_name='''+Tmpcopyname +'''';
该行代码的检索条件错误:应该把C.copy_id=C.Copy_id 改为c.copy_id=d.copy_id
注:两种写法都能在SQL-SERVER中运行,但c.copy_id=C.copy_id在ACCESS中不能运行
3、 Inner Join 语句2
StrSql:='select copy_year,copy_name,a.copy_id from SysCopys a inner join SysCopysUser b on a.curcopy_flag=1 and a.copy_id=b.copy_id where b.user_id=' + '''' +TmpPubUserID+ '''';
该为
StrSql:='select copy_year,copy_name,a.copy_id from SysCopys a inner join SysCopysUser b on a.copy_id=b.copy_id where a.curcopy_flag=''1'' and b.user_id=' + '''' +TmpPubUserID+ '''';
注:两种写法都能在SQL-SERVER中运行,但第一种在ACCESS中不能运行
4、 Inner Join语句3
SQl server 中可以执行以下语句
'Select distinct sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort From sysoption inner join sysroleoption ON sysoption.opti_id=sysroleoption.opti_id AND sysroleoption.role_id=:roleid'
但ACCESS中不能,只能
'Select distinct sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort From sysoption inner join sysroleoption ON sysoption.opti_id=sysroleoption.opti_id Where sysroleoption.role_id=:roleid'
5、 Update语句
Sql SerVer 中能执行但Access 中不能
'Update sysuserrole SET sysuserrole.role_sort = (Select sysrole.role_sort FROM sysrole Where sysuserrole.role_id = sysrole.role_id and sysuserrole.user_id='01')'
6、 日期比较
SQL SERVER 中用
StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date '
+'From SysCopys '
+'where copy_id='''+LoginCopyID+''' '
+'and start_date<='''+datetostr(LoginDate)+''' '
+'and end_date>='''+datetostr(LoginDate)+'''';
ACCESS中用
StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date '
+'From SysCopys '
+'where copy_id='''+LoginCopyID+''' '
+'and start_date<=#'+datetostr(LoginDate)+'# '
+'and end_date>=#'+datetostr(LoginDate)+'#'
参考以上的第10个函数“GetDateStr”
7、 最大数值获取语句
StrSql:='insert into sysRoleOption '
+'select '''+fidRoleId+''' as Role_ID,opti_id,'
+'convert(numeric,opti_id)-(convert(numeric,opti_parentid)*100)+'+ MaxOptiSort
+' as opti_Sort from sysoption where opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+''' and opti_bottom=''1'+'''';
改为
StrSql:='insert into sysRoleOption '
+'select '''+fidRoleId+''' as Role_ID,opti_id,'
+'opti_id-opti_parentid*100+'+ MaxOptiSort
+' as opti_sort from sysoption where opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+''' and opti_bottom=''1'+''''
注:两种写法都能在SQL-SERVER中运行,但第一种在ACCESS中不能运行
但是考虑会出现Null值以及语句的通用性,可以使用以上的第07个函数“GetNullStr”和第09个函数“GetConvertStr”来完成字符串向数字,空值和0数字的转换:参考GetNextNumStr代码。

相关推荐

    MySQL报警脚本

    在MySQL报警脚本中,Python语言被用来编写脚本,这是因为Python具有丰富的库支持和简洁的语法,适合进行系统监控和自动化任务。例如,可以使用Python的os模块来获取系统负载信息,使用sys模块处理命令行参数,使用...

    Mysql源码整理)_news4ep_mysql源码_MYSQL_

    本资源包“Mysql源码整理_news4ep_mysql源码_MYSQL_”是数据库学习者在研究MySQL源码过程中的笔记和资料集合,旨在帮助用户更深入地了解MySQL的内部工作机制。 MySQL源码的学习可以从以下几个关键方面展开: 1. **...

    易语言windows漏洞扫描

    3. **漏洞数据库对比**:维护一个包含已知漏洞及其对应KB编号的数据库,将系统中的补丁列表与这个数据库进行比对,找出缺失的补丁,即未修复的漏洞。 4. **报告生成与展示**:将扫描结果整理成用户可读的报告,可能...

    python 2019毕业论文参考文献.docx

    - **详细内容**:文章总结了几种有效的教学方法,如案例驱动教学法、项目导向学习法等,并分享了一些具体的课堂实践案例。这对于提高学生编程兴趣和技能有很大帮助。 #### Python语言的中文文本处理 - **知识点...

    Java面试宝典2014版2015版2016版

    在Java面试中,以下几个关键领域通常是考察的重点: 1. **Java基础知识**:这是面试的基础,包括Java语法、面向对象特性(封装、继承、多态)、异常处理、垃圾回收机制、内存管理以及线程基础知识等。深入理解这些...

    AS400程序员培训手册(中级)

    游标是数据库查询中的一种机制,用于在结果集中逐行遍历。本节将介绍游标的概念、使用方法和与不同操作码的配合,以及游标在事务处理中的角色。 ##### 4. 事务处理--COMMIT 事务处理是数据库操作的核心,确保了...

    sqlserver 面试时的考题

    - **解析**: 可以通过以下几种方式来实现数据库之间的同步: - 使用SQL Server的复制功能(如事务复制或合并复制),这种方式适用于A到B的同步。 - 使用链接服务器加上分布式事务的方式,适用于更复杂的场景,如A...

    Expert Delphi.pdf

    - **数据库选择**:通过对比分析,介绍了几种常见的数据库类型及其适用场景。 - **使用FireDAC访问数据库**:通过实例演示了如何使用FireDAC组件来连接并操作数据库,包括SQL查询、数据更新等操作。 - **数据驱动...

    pb美化工具

    PowerBuilder是一种流行的可视化编程环境,主要用于开发企业级的应用程序,尤其是数据库驱动的系统。该美化工具的主要目的是提高代码的可读性和可维护性,这对于长期的项目开发和团队协作至关重要。 在编程过程中,...

    Java开发岗面试知识点解析

    1. 线程同步的几种方式? 答:synchronized 关键字、Lock 接口(ReentrantLock)、 volatile 关键字、ThreadLocal、CountDownLatch、CyclicBarrier、Semaphore 等。 2. volatile 的工作原理? 答:volatile 保证了...

    易语言-易语言图片管理器

    易语言是一种以中文为程序代码的编程语言,旨在降低编程技术门槛,让更多人能够掌握编程技能。这款图片管理器源码为学习易语言的初学者或开发者提供了实际操作的例子,有助于理解易语言的编程理念和实践。 易语言...

    难得的excel教程集珍藏版,简单明了,包你学会.pdf

    在Excel中导入外部数据,无论是数据库、网页还是其他电子表格,都是数据分析不可或缺的能力。这使得Excel不仅局限于内部数据处理,还能作为数据整合和分析的中心平台。 #### 行列快速转换:数据重组的妙招 行列...

    利用开源工具搭建小型搜索引擎

    对比三种链接分析算法的特点和适用场景。 **7.4 链接分析方法局限性及其发展前景** - **7.4.1 链接分析方法局限性**: 指出链接分析方法可能存在的问题。 - **7.4.2 发展前景**: 讨论未来链接分析技术的发展方向。 ...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    4.9 恢复slave从机上的某几张表的简要方法 126 4.10 如何干净地清除slave同步信息 127 第5章 性能调优 129 5.1 表设计 129 5.2 字段类型的选取 133 5.2.1 数值类型 134 5.2.2 字符类型 139 5.2.3 时间类型 ...

    软件测试规范

    软件测试规范 目 录 一.概述 ...............................................................................................................................................................

    Palm TaCo-开源

    通过对比和分析双语句子,用户可以直观地看到日语和英语之间的语法差异,加深对两种语言的理解,提高翻译技能。 Palm TaCo的应用程序将田中语料库巧妙地整合到Palm设备中,这在20世纪末到21世纪初的个人数字助手...

    JAVA基础面试题全

    综上所述,Java基础知识涵盖的内容非常广泛,从基本语法到高级特性,再到实际开发中的技术选型和架构设计,都是开发者必须掌握的核心技能。通过以上知识点的梳理,希望能够帮助开发者更好地理解和掌握Java技术体系,...

Global site tag (gtag.js) - Google Analytics