今天由于需要做收款报表方面的信息,需要拿到汇率表,虽然汇率每时每刻都在变化,但是公司月度汇率始终是固定的,根据银行来规定,为了能月月都能拿到银行规定的这个月度汇率,我们公司也自己建立了一个汇率表,而订单方面的金额可能是由于币种的不同,而订单日期的汇率和现在查看订单的汇率不同,为了降低自己损失风险,进行资金评估等,需要进行现在汇率的计算汇总成本位币。
这里需要用到了,mssql 中的Convert(),getdate(),substring()函数,然而substring应用于能允许的类型为: char/varchar、nchar/nvarchar 和 binary/varbinary,而数据类型 datetime 对于函数 substring 无效。因此,你必须将时间类型数据格式转换成字符串,那Convert函数就派上用场了,Convert(varchar,GetDate(),120)此函数转换的日期格式为:2010-08-16 14:27:56(120是格式数字码),因为我为了得到当前日期的年月,就必须进行字符截取。
MSSQL 代码如下:
select SUBSTRING(convert(varchar,getdate(),120),1,7) --按照“yyyy-MM”格式获取年月
--结果:2010-08
得到自己想要的结果,然后和汇率表中的年月进行inner join 联合查询即得到查询当月的各种币种的汇率。