sql 存储过程判断时间并计算合计如何写?

以下是写好的存储过程部分代码
CREATE TABLE #应收资金(
[应收款] [float] default 0,
[第一次收款日期] [datetime] NULL,
[第二次收款日期] [datetime] NULL,
[第三次收款日期] [datetime] NULL,
[保证金实收款日期] [datetime] NULL
)

delete from #应收资金
insert into #应收资金
(
第一次收款日期,
第二次收款日期,
第三次收款日期,
保证金实收款日期
)

select
第一次收款日期,
第二次收款日期,
第三次收款日期,
保证金实收款日期
from GatheringBargain
where 签定日期 between @beginDate and @endDate

现在要判断,如果第一次收款日期小于等于当前日期,应收款为第一次收款金额;如果第二次收款日期小于等于当前日期,应收款为第一次收款金额+第二次收款金额;以此类推;请问如何写语句????感谢!

你确定你的表对吗? 第一次收款金额+第二次收款金额 这两个字段在哪?

其实用case when 应该就能解决你的问题了。
温馨提示:内容为网友见解,仅供参考
无其他回答

SQL 怎么填补空缺的数据?
恩,结果和你想要的是有一些差别。就是如果ID和余额如果与上一条记录相同(注意上面的order by),那么就为空。余额还有个特殊情况,就是为0的时候也是为null 那么在插入的时候可以判断如果为Null就插入一个特殊值 再根据这个特殊值写几个Update语句去更新。

SQL里面,怎样与上一条记录作对比?
首先,在建立表的时候建立一个自增ID,或者用自己的方式建立ID累加作为表的索引,或者建立一个字段用getData()方法获取长日期+长时间。如果是表里面写入操作,就要写存储过程,先判断Select Max(id) as 字段1 from [表名]中id是多少,然后把筛选出来的id和当前的@参数相对比;如果是在视图中做数据分...

SQL中如何利用存储过程插入多条数据并更新?
虽然有点模糊,不过我觉得你用嵌套查询+分组是可以达到目的的。比如安装商品名来分组:select t1.商品名,t1.销售总数,t2.剩余库存 from (select 商品名,销售总数 from a,b,c where ...条件随便写..) as t1,(select 商品名,剩余库存 from a,b,c where ...条件随便写..) as t2where t1....

在sqlserver中,存储过程proc,procedure什么区别
只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。二、存...

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的...
Select ’合计人数:’,COUNT(uGroup),NULL FROM uUser Where uGroup=@intUserGroupEND 现在我们来看一下ASP程序的调用。 引用: Dim adoComm Dim adoRt ’\/\/ 创建一个对象,我们用来调用存储过程 Set adoComm = CreateObject("ADODB.Command") Set adoRs = CreateObject("ADODB.Recordset") With adoComm ’...

SQL 语句 select sum(a) from table1 where b=3
当执行某个已存储过程或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。例如,用户可能执行一个已存储过程(使用 CallableStatement 对象 - 参见第 135 页的 CallableStatement),并且该已存储过程可执行更新,然后执行选择,再进行更新,再进行选择,等等。通常使用...

SQL SERVER查询时间是一年中第几周的函数
一、函数功能:DATEPART() 函数用于返回日期\/时间的单独部分,比如年、月、日、小时、分钟等等。二、语法:DATEPART(datepart,date)三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:四、实例演示 假设我们有下面这个 "Orders" 表:我们使用如下 SELECT 语句:SELECT DATEPART(yyyy...

关于sql聚集函数的正确描述是
SQL允许定义函数、过程和方法。定义可通过SQL的有关过程的组件,也可以通过外部的程序设计语言,如Java,C或C++。SQL标准所定义的语法,与大多数数据库实现的自身的非标准版本的语法不同。函数和过程允许“业务逻辑”作为存储过程记录在数据库中,并在数据库中执行。求和函数SUM( )用于对数据求和,返回...

存储过程出现 SQL statement ignored错误是什么问题?
存储过程出现 SQL statement ignored错误是:存储过程语句错误,字段或变量名可能拼错,导致存储过程无法执行。解决方法:仔细检查存储过程里的变量,字段,语句等是否正确。

2个SQL语句返回的结果为何不同?
ISDATE() --函数判断所给定的表达式是否为合理日期 ISNULL(<check_expression>, <replacement_value>) --函数将表达式中的NULL 值用指定值替换 ISNUMERIC() --函数判断所给定的表达式是否为合理的数值 NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值 NULLIF(<expression1>, <expression2>) --NULLIF 函数在...

相似回答