惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
博客园 - Franky
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
爱范儿
爱范儿
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)

博客园 - ZH.net

在vb.net中通过ODBC从Oracle 9i向Access倒数据 从SQLSERVER向ORACLE8迁移的技术实现方案 Part V [转] 从SQLSERVER向ORACLE8迁移的技术实现方案 PartIII [转] 从SQL SERVER向ORACLE的迁移方案[转] PartII Sql Server 转入 Oracle part I (转自网络) 在 .NET 中使用 Oracle 数据库事务 作者:Jason Price 转自oracle.com Oracle Trigger(转自网络) Oracle的分页以及sequence 一些正则表达式 - ZH.net - 博客园 接昨日,将上传至oracle的excel文件下载下来 将文件(word,excel等)存入oracle的一个字段 .net studio 2005操作dbf文件 Web利用Gloabl.asax实现多线程任务 maintain AD(将一个账号移动到另一个群组) 一個Check AD的类。from MSDN 一些JS ViewState的一些学习笔记 发mail时smtp服务器设置的一个问题 datagrid前加checkbox
从SQLSERVER向ORACLE8迁移的技术实现方案 PartIV [转]
ZH.net · 2006-08-08 · via 博客园 - ZH.net

<4>、从T-SQL向PL/SQL迁移方案

    通过上述讨论,在从T-SQL向PL/SQL迁移时,在常用语法与函数方面要逐一细致比较

    后再行调整,特别要注意常用函数怎么进行替换和主体控制结构怎么进行调整。

   (1)将所有的GETDATE全部转换成为SYSDATE;

   (2)将所有的selct @var = column from table where condition 改成

               select column into var from table where condition;

       将所有的selct @var1 = @var2  改成

               var1 :=var2;

   (3)将所有的convert全部转换成为 to_char 或 trunc

   例一:

   declare rq1 datetime,rq2 datetime

   …

       select  je from sr where rq > = convert (char(10),rq1,111)

         and rq < convert(char(10),rq2,111)

   应改成:

   date rq1;

   date rq2;

      select sr into je where rq > = trunc(rq1) and  rq < trunc(rq2);

   例二:

   declare rq1 datetime,rq2 datetime

   …

   select  je from sr where convert(char(10),rq,111) > = convert (char(10),rq1,111)

      and rq < convert(char(10),rq2,111)

   应改成:

   date rq1;

   date rq2;

      select sr into je where trunc(rq)> = trunc(rq1) and  trunc(rq) < trunc(rq2);

  或:

   date rq1;

   date rq2;

      select sr into je where  to_char(rq,’yyyy/mm/dd’)> =to_char(rq1,’yyyy/mm/dd’)      and  to_char(rq,’yyyy/mm/dd’) < to_char(rq2,’yyyy/mm/dd’);

(3)PL/SQL不支付时间字段与规则字符串的直接比例

 如在T-SQL中的

  select @je = sr where rq > ‘2001.01.01’是可以的。

而在PL/SQL中

  select sr into je where rq > ‘2001.01.01’;是行不通的,如果要实现比例,则应改成;

  select sr into je where rq > to_date(‘2001.01.01’,’yyyy.mm.dd’);或

  select sr into je where to_char(rq,’yyyy.mm.dd’) > ‘2001.01.01’;

(4)将T-SQL中的DATEDIFF全部改成TRUNC(D1-D2),MONTHS_BETWEEN

   如select @ts = datediff(day,date1,date2),在PL/SQL中应改为:

     ts = trunc(date2 – date1);

   如select @ys = datediff(month,date1,date2),在PL/SQL中应改为:

     ts = months_between(date1 – date2);

(5)DateAdd全部改为D+n 或Add_Months

   如select date2 = dateadd(day,date1,3),在PL/SQL中应改为:

      date2 :=date1 + 3;

   如select date2 = dateadd(month,date1,6),在PL/SQL中应改为:

      date2 :=add_months(date1 ,6);