1

“如果归还日期为 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

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

4

2 回答 2

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

那应该这样做。

于 2011-11-08T04:12:19.260 回答
0

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

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

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

于 2011-11-08T04:14:34.167 回答