如何在DATEDIFF语句中实现ISNULL和GETDATE

时间:2011-11-08 04:09:33

标签: sql if-statement getdate

“如果返回日期为NULL,则列应使用ISNULL和GETDATE来计算当前租借期限。(即,如果没有返回日期,请使用当前日期。)” 目前这是我到目前为止完成的代码片段,我需要创建一个ISNULL和GETDATE语句,以便与租期一起使用。我不确定我是否需要使用IF语句或将所述语句放在我当前的配置中。

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

提前致谢。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分: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

应该这样做。

答案 1 :(得分:0)

ISNULL是一个内联语句,当源列不为null时,返回该列,当它为null时,返回一个备用值。

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

当return_date为null时,调用函数getdate()以返回正确的值。