我在这里进行了不错的搜索,但似乎找不到我想要的东西,我认为我为GETDATE使用了错误的语法
我正在尝试使用我们作为公司代码在我的代码中使用的公式。那是
The Price of something / Days in year * days in the month
我正在尝试使用以下内容,但无济于事-
[Rate] = Price/'365'*month([Period])))
“句点”是列名,例如,月份日期的格式为“ 2018-04-01” 这是基于一个同事向我展示的示例,但是由于我认为我写的完全错误而无法使它正常工作
为这个简单的问题表示歉意,我是SQL代码的新手(仅在4月才开始学习),因此直到我忽略了一些简单的事情!
在这里提供任何帮助
欢呼
W
答案 0 :(得分:2)
我认为您想要这样的东西(假设一年365天):
select (price / 365.0) * day(eomonth(period)) as rate
如果要考虑leap年,则:
select (case when eomonth(day(year(period)), 2, 1)) = 28
then (price / 365.0) * day(eomonth(period))
else (price / 366.0) * day(eomonth(period))
end) as rate
答案 1 :(得分:1)
我认为您的代码将如下所示
[Rate] = (Price*1.00/365) * datepart(day, period)
下面是使用getdate()的示例
select rate= (12*1.00/365) * datepart(day, getdate())