Sql 如何获取转换后的列值

Sql 如何获取转换后的列值,sql,Sql,我们的数据库仅提供基于cad的汇率FX/cad,但是,我需要使用基于美元的汇率FX/usd;所以我想做这样的事情 外汇汇率以加元为基础/外汇汇率以美元对加元为即期汇率 试试这个: SELECT cad.ValDate, month(cad.ValDate) as Month, rtrim(cad.CurID) as CurID, cad.SpotRate as SpotRate_Cad, cad.SpotRate / usd.SpotRate as SpotRate_

我们的数据库仅提供基于cad的汇率FX/cad,但是,我需要使用基于美元的汇率FX/usd;所以我想做这样的事情

外汇汇率以加元为基础/外汇汇率以美元对加元为即期汇率

试试这个:

SELECT 
  cad.ValDate, 
  month(cad.ValDate) as Month, 
  rtrim(cad.CurID) as CurID, 
  cad.SpotRate as SpotRate_Cad,
  cad.SpotRate / usd.SpotRate as SpotRate_USD
FROM DB.NPVPLFxRate as cad 
JOIN DB.NPVPLFxRate as usd ON usd.ValDate = cad.ValDate
WHERE cad.ValDate between '2016-02-28' and '2016-03-02' and usd.CurID = 'usd'
ORDER BY cad.ValDate, cad.CurID 
我不确定你是否应该考虑左联,因为你的费率表应该每天都有完整的信息。

试试这个:

SELECT 
  cad.ValDate, 
  month(cad.ValDate) as Month, 
  rtrim(cad.CurID) as CurID, 
  cad.SpotRate as SpotRate_Cad,
  cad.SpotRate / usd.SpotRate as SpotRate_USD
FROM DB.NPVPLFxRate as cad 
JOIN DB.NPVPLFxRate as usd ON usd.ValDate = cad.ValDate
WHERE cad.ValDate between '2016-02-28' and '2016-03-02' and usd.CurID = 'usd'
ORDER BY cad.ValDate, cad.CurID 

我不确定你是否应该考虑左联接,因为你的费率表应该每天都有完整的信息。

标记你正在使用的DBMS。一些特定于产品的SQL…标记您正在使用的dbms。这里有一些特定于产品的SQL。。。