如圖,如果過濾日期在第一列和第二列之間的就顯示第三列的值,不滿足就為0
uj5u.com熱心網友回復:
條件值是單一值:CASE WHEN 條件值 BETWEEN FBEGINDATE AND FENDDATE THEN FLOCALAMOUNT ELSE 0 END
條件值是個區間:
CASE WHEN 起始條件值>=FBEGINDATE AND 結束條件值<=FENDDATE THEN FLOCALAMOUNT ELSE 0 END
uj5u.com熱心網友回復:
if not OBJECT_ID ('#a') is null
drop table #a
go
create table #a
(
kaishi date,
jieshu date,
c money
)
GO
insert into #a
select '2019/05/08','2019/06/09','745.00'union all
select '2019/05/02','2019/06/16','345.00'union all
select '2019/05/16','2019/06/22','5654.00'union all
select '2019/05/11','2019/06/28','345.00' union all
select '2019/05/06','2019/06/29','564.00'
go
select * from (select kaishi ,jieshu, case when '2019/06/20' between kaishi and jieshu then c else '' end 價格 from #a ) as a where a.價格>0
uj5u.com熱心網友回復:
if not OBJECT_ID ('#a') is nulldrop table #a
go
create table #a
(
kaishi date,
jieshu date,
c money
)
GO
insert into #a
select '2019/05/08','2019/06/09','745.00'union all
select '2019/05/02','2019/06/16','345.00'union all
select '2019/05/16','2019/06/22','5654.00'union all
select '2019/05/11','2019/06/28','345.00' union all
select '2019/05/06','2019/06/29','564.00'
go
--如果過濾日期在第一列和第二列之間的就顯示第三列的值,不滿足就為0
declare @dt as smalldatetime
set @dt='2019/05/07'
select *,case when @dt between kaishi and jieshu then c else 0 end as c from #a
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/146844.html
標籤:疑難問題
上一篇:sql 怎么查日終余額平均值
下一篇:用sql根據訂單分配庫存的問題
