gpt4 book ai didi

C#在日期范围之间退款

转载 作者:行者123 更新时间:2023-12-02 05:36:04 26 4
gpt4 key购买 nike

基本上我有如下帐户的发票行:

BillID     AccountID     BilledFrom        BillTo      Days     Price
38 3456 10/10/2012 10/11/2012 30 86p
39 3456 11/11/2012 11/12/2012 30 87p
40 3456 12/12/2012 30/12/2012 18 81p

用户想要为部分日期范围的客户退款,因此用户将需要输入日期从和日期到日期:

Date From: 18/10/2012     DateTo: 14/12/2012

这将导致信用额度根据每条线路的天数和价格向客户退款。我需要返回每一行并显示截止点。如您所见,输入的范围跨越 3 个发票行。

需要的结果是:

BillID  AccountID  BilledFrom    BillTo     RangeStart  RangeEnd    Days  Price
38 3456 10/10/2012 10/11/2012 18/10/2012 10/11/2012 22 86p
39 3456 11/11/2012 11/12/2012 11/11/2012 11/12/2012 30 87p
40 3456 12/12/2012 30/12/2012 11/11/2012 11/12/2012 2 81p

结果基本上会带回初始适用的发票行,但会计算出该范围如何适合并计算输入的日期范围内的账单起始天数和账单截止天数。

我需要一个 SQL 函数来提供这个结果。任何帮助,将不胜感激。提前谢谢你。

最佳答案

试试这个:

  declare @DateFrom date='10/18/2012'     
declare @DateTo date='12/14/2012'

select T.BillID,T.AccountID,T.BilledFrom,T.BillTo,
case when BilledFrom<@DateFrom then @DateFrom else BilledFrom end [RangeStart],
case when BillTo<@DateTo then BillTo else @DateTo end [RangeEnd],DATEDIFF(D,case when BilledFrom<@DateFrom then @DateFrom else BilledFrom end ,case when BillTo<@DateTo then BillTo else @DateTo end ) [Days],Price
from t_account T

SQL Fiddle Demo

关于C#在日期范围之间退款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com