oracle sybase部分常用sql对比

功能oraclesybase
获取系统时间sysdategetdate()
if then else 功能decode(item,
        if_1, value1,
        if_2, value2,
        
         default value) 
如果value值等于条件if_1 则选取value1
  否则如果等于条件if_2 则选取value2
  … 如果都不满足则选取默认值default Value
:item 和 if_1只能是等于关系
case when condition1 then value1
     when condition2 then value2
     else defaultValu
end
判 nullNVL(item,value)
如果item字段为nul 则显示value值
用case when then else end 实现
截取字符串substr(string,起始位,终止位)
注:1或0都表示第一位
    终止位为空,表示取到最后一位
substring(string,起始位,终止位)
注:1为第一位,不能写0,否则去不到数据
    参数一个都不能少
    取到最后一位用 char_length(item) 表示
判断是否含有某字符串instr(string,subStr,起始位置,匹配编号)
oracle中可以通过后两个参数(起始位置,匹配编号进行更复杂的查询判断)
charindex(subStr,string)   :sybase和oracle子串和字符串位置相反
有关时间的操作  
将字符串转换成时间格式to_date('20070520','yyyymmdd')
或:to_date('20070520','yyyymmdd
HH24miss
')
结果都是 2007-5-20

to_date('20070520123000','yyyymmdd
HH24:mi:ss
')
或:to_date('20070520123000','yyyymmddHH24miss')
结果都是 2007-5-20 13:30:00
cast('20070520' as datetime)  日期字串只能到日
结果: 2007-05-20 00:00:00.0
日期差日期格式(to_date)相减结果单位是天,且保留小数datediff(单位,starttime,endtime)
单位包括:month,day,hour,minute,second 结果为
整数
选择较大(较小)值greatest(字段1,字段2……)  取得最大的用and逻辑实现
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值