将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
计算的结果,而不是别名列名