将sql中两列之间的值相乘

将sql中两列之间的值相乘,sql,sql-server,Sql,Sql Server,我的问题 SELECT DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) AS TotalDays ,amount FROM staydetails 例如,金额列的值可能为100,我需要将totaldays和amount的值相乘,然后将结果添加到另一列。只需将计算列添加到选择列表中,如下所示: select DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) AS TotalDays , amount, (DATEDIFF(d

我的问题

SELECT  DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) AS TotalDays ,amount 
FROM staydetails 

例如,金额列的值可能为
100
,我需要将
totaldays
amount
的值相乘,然后将结果添加到另一列。

只需将计算列添加到选择列表中,如下所示:

 select  
 DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) AS TotalDays ,
 amount,
 (DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) * amount) AS CalculatedAmount
from staydetails

请注意,您需要重复
DATEDIFF
功能-您不能使用别名TotalDays。

非常简单:

select  DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) AS TotalDays ,amount,
        (DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) * amount) as Result 
from staydetails 

就这样乘以它们:

select  DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) AS TotalDays ,
        amount ,
        DATEDIFF(day,SD.STARTDATE,SD.ENDDATE) * amount AS CalculatedValue
from staydetails
您可能试图引用
TotalDays
如下:
TotalDays*amount
,但您必须对基础值执行计算,该值是
DATEDIFF
计算的结果,而不是别名列名