首页 >数据库 >mysql教程 >数据库Oracle与SqlServer与Access

数据库Oracle与SqlServer与Access

WBOY
WBOY原创
2016-06-07 15:40:531089浏览

1、时间: Access:now() SqlServer:getdate() oracle:sysdate() 2、游标: sqlserver:声明@id int 声明 rs 游标,用于从 Biz_Pda 中选择 PdaId,其中 PdaState = ' 1 ' 或 PdaState = ' 2 ' 如果 @iPda = 1 开始打开 ​​rs 将下一个从 rs 获取到 @id

1、时间:
访问:now()
SqlServer:getdate()
oracle:sysdate()
2、游标:
sqlserver:

数据库Oracle与SqlServer与Access声明 @id int
数据库Oracle与SqlServer与Access
声明 rs 光标 for 选择 PdaId 来自 Biz_Pda 地点 PdaState='1'  PdaState=' 2' 
数据库Oracle与SqlServer与Access
如果 @iPda=1
数据库Oracle与SqlServer与Access
开始
数据库Oracle与SqlServer与Access 
开放 rs
数据库Oracle与SqlServer与Access 
获取 下一个 来自 rs
数据库Oracle与SqlServer与Access 
进入 @id
数据库Oracle与SqlServer与Access 
同时 @@fetch_status=0
数据库Oracle与SqlServer与Access 
开始
数据库Oracle与SqlServer与Access  
--执行的操作
数据库Oracle与SqlServer与Access
 结束
数据库Oracle与SqlServer与Access 
关闭 rs
数据库Oracle与SqlServer与Access 
解除分配 rs
数据库Oracle与SqlServer与Access
结束

oracle:

数据库Oracle与SqlServer与Accessdeclare
数据库Oracle与SqlServer与Access  r_cert certrecord
%rowtype; 
数据库Oracle与SqlServer与Access  
cursor cs is select * from certrecord order by id;
数据库Oracle与SqlServer与Access
begin
数据库Oracle与SqlServer与Access    
open cs;
数据库Oracle与SqlServer与Access    loop
数据库Oracle与SqlServer与Access         
fetch cs into r_cert;
数据库Oracle与SqlServer与Access         
exit when cs%notfound;--没有数据退出
数据库Oracle与SqlServer与Access
        --执行的操作
数据库Oracle与SqlServer与Access
    end loop;
数据库Oracle与SqlServer与Access    
commit;--提交数据
数据库Oracle与SqlServer与Access
    close cs;
数据库Oracle与SqlServer与Access
end;


3,查询后赋给单个变量
sqlserver:

数据库Oracle与SqlServer与Accessselect @parameter=t.aa from table

oracle:

数据库Oracle与SqlServer与Accessselect t.aa into parameter from table

 

4,函数:

字符转换:

sqlserver:str(..)

oracle:to_char(..)

access:cstr(..)

字符截取:([]为可选)

sqlserver:substring(s,start,length)

oracle:substr(s,start[,length])

access:Mid(s,start[,length])

注:sqlserver和oracle中start可从0或1开始,二者结果是一样的,access只能从1开始

 5,case

在oracle,sqlserver都有case语句:

oracle:

数据库Oracle与SqlServer与Access数据库Oracle与SqlServer与AccessCode
select c.userid,
          a.unitcode,a.crid,a.isck,a.iszk,a.iszt,a.iszh,a.iswbz,
          (
case
          
when (select t.rylx from t_caijirecord t where t.crid=a.crid)=0 then 1
          
else 0
          
end) iscjk,
          (
case
          
when (select t.rylx from t_caijirecord t where t.crid=a.crid)=1 then 1
          
else 0
          
end) isczk,
          c.idcardnum,c.receivetime
     
from certrecord c inner join
          a_certrecord a 
on c.id = a.crid

 

数据库Oracle与SqlServer与Access数据库Oracle与SqlServer与AccessSqlServer
SELECT
UserPassportID 
as PassportID,
UserID,
GrantorID,
Case ObjectTypeID 
When 1 then ObjectID
End 
as TerminalID,
Type, Flag, GrantDate, Validate, Invalidate
From UserPassport

Access:

 

数据库Oracle与SqlServer与Access数据库Oracle与SqlServer与AccessAccess
select OperationNo,iif(IsMadeFile=1,'sended',iif(IsMadeFile=0,'nosend')) as IsSend from T_OperationHistory
select OperationNo,switch(IsMadeFile=1,'sended',IsMadeFile=0,'nosend'as IsSend from T_OperationHistory

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn