where a.记账凭证日期>=case when @起始凭证日期=''
then a.记账凭证日期 else @起始凭证日期 end这句话后面的意思是知道,就是当起始凭证日期为空就是记账凭证日期,否则为输入的起始凭证日期
但前面记账凭证日期大于等于后面我就理解不了了,谁跟我讲解一下
then a.记账凭证日期 else @起始凭证日期 end这句话后面的意思是知道,就是当起始凭证日期为空就是记账凭证日期,否则为输入的起始凭证日期
但前面记账凭证日期大于等于后面我就理解不了了,谁跟我讲解一下
因为:a.记账凭证日期 始终是大于等于本身的。2,当@起始凭证日期不等于初始值的时候,筛选条件是: a.记账凭证日期>=@起始凭证日期
如果还不清楚,可以在应用中理解:
想象一个窗体上有一个文本框,后面有个按钮。
当没有在文本框中填写任何日期的时候,点击按钮,这时加载的是整个数据。
如果你填写了一个日期。点击按钮,这个时候加载的数据将满足这个条件:记账凭证日期>你填写的日期
哪句话是判断a.记账凭证日期是>=@起始凭证日期呢
后面case when 的意思不是为空时就是所有的记账凭证日期,否则就是起始凭证日期么?
from tb
--where a.记账凭证日期>=(case when @起始凭证日期=''
-- then a.记账凭证日期 else @起始凭证日期 end)
--看看col列结果是什么