sybase oracle 好坏,SYBASE、ORACLE函数对比

SYBASE、ORACLE函数对比

Sysdate

Oracle取系统时间用“select sysdate from dual”查询语句。

Sybase取系统时间用“select getdate()”查询语句。

Decode

Oracle的“select decode(IPAddressB,null,' ',IPAddressB) from res”语句,对应Sybase的“select case when  IPAddressB is null then ' ' else IPAddressB end from res”语句。

to_char(…,'d')

Oracle的“to_char(b.CfgFileGotTime,'d')”语句,对应Sybase的“DATEPART(dw,b.CfgFileGotTime)”语句。

Nvl

Oracle的“nvl(NODECODEA,'NOD007')='NOD007'”语句,对应Sybase的“isnull(NODECODEA,'NOD007')='NOD007'”语句。

Substr

Oracle的“select substr('abcd',2,2) value from dual”语句,对应Sybase的“select substring('abcd',2,2) value”语句。

Instr

Oracle的“select nodecode from Node where instr('"+nodefullcode+"',nodefullcode)>0)”语句,对应Sybase的“select nodecode from Node where CHARINDEX(nodefullcode,'"+nodefullcode+"')>0)”语句

外连接(+)

oracle中:select * from roleinfo a ,func_role b where a.roleid=b.roleid(+);对应

sybase中:select * from roleinfo a,func_role b where a.roleid*=b.roleid;

注意:禁止使用left join做外连接,oracle8i不兼容。

求两日期某一部分的差

Oracle的“select ceil((sysdate - a.downoccurtime)*24*60) BREAKDOWNTIMESPAN fromDevice a”语句,对应Sybase的“select datediff(Minute,a.downoccurtime,getdate() ) BREAKDOWNTIMESPAN  from Device a”语句。

Sybase中,除了“Minute”,还可以取“second”“hour”“day”“week”“month”“year”等值。

别名(alice)的使用

Sybase数据库中Insert、update、delete操作,数据库表不能使用alice。比如delete res r where r.resid=''是错误的。必须写成delete res  where resid=''

Sybase数据库中,嵌套查询,字段不得使用alice。例如select * from roleinfo where roleid in (select roleid roleid  from func_role);是错误的。必须写成select * from roleinfo where roleid in (select roleid from func_role);

Insert方法

Oracle的“insert into UserResAuth (select 'tttt',nodecode,restypeid,resid,authtype from UserResAuth where netuserid = 'qq');”语句,对应于Sybase数据库中,“insert into UserResAuth (netuserid,nodecode,restypeid,resid,authtype) (select 'tttt',nodecode,restypeid,resid,authtype from UserResAuth where netuserid = 'qq');”

Insert的表名必须写清楚列名。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值