2011-11-08 29 views
0

“如果返回日期为NULL(即没有返回日期,则使用当前日期),该列应该使用ISNULL和GETDATE来计算当前的租期。” 目前,这是我迄今完成的代码片段,我需要创建一个ISNULL和GETDATE语句以供租用期限使用。我不确定我是否需要使用IF语句或将该语句放在当前配置中。如何在DATEDIFF语句中实现ISNULL和GETDATE

SELECT mo.Movie_ID      
, co.copy_id      
, mo.Movie_Name 
, fo.format_name     
, c.customer_id 
, rental_ID 
, DATEDIFF (day, rental_date, return_date) AS rental_duration 
, c.first_name + ' ' + c.last_name AS customer_name 

在此先感谢。任何帮助,将不胜感激。

+0

如果这是家庭作业,请用'homework'标记标记 –

回答

2
SELECT mo.Movie_ID      
, co.copy_id      
, mo.Movie_Name 
, fo.format_name     
, c.customer_id 
, rental_ID 
, DATEDIFF (day, rental_date, ISNULL(return_date,GETDATE())) AS rental_duration 
, c.first_name + ' ' + c.last_name AS customer_name 

这应该做到这一点。

0

ISNULL是一个内联语句,当源列不为空时,返回该列,当它为空时,返回一个替代值。

SELECT ISNULL(return_date, getdate()) ... 

当return_date为空时,函数getdate()被调用以返回适当的值。