【问题标题】:SQL finding average between datesSQL 查找日期之间的平均值
【发布时间】:2013-07-17 19:58:25
【问题描述】:

我让用户写了两个日期,比如:'2013-7-8','2013-7-15'
然后存储过程执行并返回更新表。
两列包括:

Avg_Paid_Volume ---- cns_amt

numb_im_looking_for -------------------------10000
numb_im_looking_for ------------------------ 20000
numb_im_looking_for -------------30000
... ETC

cns_amt 只是指定时间段内的交易量。
我正在寻找指定两个日期之间的平均支付量,我称之为 @dt_from 和 @dt_to -> 在这种情况下,它将是 10000/8、20000/8 和 30000/8

我想将这些值输入到我的表中(输入到 'numb_im_looking_for')

【问题讨论】:

    标签: sql sql-server sql-server-2008 average


    【解决方案1】:
    Declare @dt_to datetime
    Declare @dt_from datetime
    set @dt_to = convert(datetime,'2013-7-8')
    set @dt_from = convert(datetime,'2013-7-15')
    
    Update tableName
    Set avg_paid_volume = (cns_amt / datediff(d,@dt_to,@dt_from))
    

    datediff 是这里的关键

    【讨论】:

    • 实际上,有没有一种方法可以让您不必在 convert() 中手动输入 '2013-7-8' 和 '2013-7-15' 并且只需拥有它就可以执行程序'2013-7-8', '2013'7'15' 并在转换函数中自动使用这些日期
    • 是的,这只是为了表明转换为 datetime 是必要的,exec 过程是更好的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多