常用函数SQL与Oracle的区别

本文对比了SQL和Oracle中处理NULL值的ISNULL与NVL函数,并详细介绍了获取当前日期的方法,以及如何计算两个日期之间的天数。此外,还展示了如何在SQL和Oracle中进行日期类型转换和字符串截取操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、SQL:ISNULL(TopDays,0) AS TopDays

Oracle:NVL(TopDays,0) AS TopDays

SQL语法   
ISNULL(check_expression, replacement_value)

SQL参数   
check_expression, replacement_value
将被检查是否为NULL的表达式。check_expression可以是任何类型的。

ORACLE语法   
NVL(eExpression1, eExpression2)

ORACLE参数   
eExpression1,eExpression2

从两个表达式返回一个非NULL的值。

2、获取当前日期:

SQL:getdate()

ORACLE:SELECT SYSDATE FROM DUAL

3、SQL:DATEDIFF(DAY,SetTime,getdate())<TopDays+1

ORACLE:(SELECT SYSDATE FROM DUAL)-SetTime<TopDays+1

SQL语法

DATEDIFF(datepart,startdate,enddate)

DATEDIFF() 函数返回两个日期之间的天数。
SQL参数

datepart, startdate, enddate
startdate 和 enddate 参数是合法的日期表达式。
datepart可以是任何日期型值。

ORACLE中没有DATEDIFF()函数,ORACLE中想得到两个日期之间的天数,直接用两个日期型值想减就可以。

4、日期型转换

SQL:CONVERT(VARCHAR(20),UpdateDate,120)

将日期型转换为:2011-07-14 22:22:22

ORACLE:TO_CHAR(UpdateDate,'yyyy-mm-dd hh24:mi:ss')

将日期型转换为:2011-07-14 22:22:22

5、截取字符串

SQL:SUBSTRING(string, 6, 11)

ORACLE:SUBSTR(string, 6, 11)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值