日期區間不能相交以及面值什麼的判斷的記錄

2021-08-21 00:27:38 字數 1309 閱讀 4698

幾年前的**,只記得是判斷日期不能有相交,記錄下。

declare @starttime datetime

declare @endtime datetime

declare @minparvalue int

declare @maxparvalue int

set @starttime=』2014-6-17』

set @endtime=』2014-6-17』

set @minparvalue=10

set @maxparvalue=20

–step 1 判斷表中是否有記錄 如果沒有記錄則直接插入

select count(1) from [commissionsetting]

–step 2 判斷表中是否存在最大區間,如果記錄為0,並且step 1中的記錄大於1,即不存在最大日期區間則進入step3

select count(1) from [commissionsetting] where startdate=(select min(startdate) from [commissionsetting]) and enddate=(select max(enddate) from [commissionsetting])

–step 3 與傳入的日期進行判斷,判斷是否是最大日期區間,如果記錄大於0則表示日期區間為最大日期區間,可以使用.若為等於0則表示不是最大日期區間,進入step4

select count(1) from [commissionsetting] where @starttime<=(select min(startdate) from [commissionsetting]) and @endtime>=(select max(enddate) from [commissionsetting])

–step 4 與表中日期和充值卡進行對比判斷

select * from [commissionsetting] where ((startdate<=@starttime and enddate>=@starttime) or (startdate<=@endtime and enddate>=@endtime) or (@starttime<=startdate and enddate<=@endtime))

and ((minparvalue<=@minparvalue and maxparvalue>=@minparvalue) or (minparvalue<=@maxparvalue and maxparvalue>=@maxparvalue) or (@minparvalue<=minparvalue and maxparvalue<=@maxparvalue))

區間相交問題

區間相交問題 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u practice fzu 1230 description 給定 x 軸上 n 個閉區間。去掉盡可能少的閉區間,使剩下的閉區間都不相交。演算法設計 對於給定...

區間相交問題

原題 fzu 1230 鏈結 給定 x 軸上 n 個閉區間。去掉盡可能少的閉區間,使剩下的閉區間都不相交。演算法設計 對於給定的 n 個閉區間,計算去掉的最少閉區間數。input 對於每組輸入資料,輸入資料的第一行是正整數 n 1 n 40,000 表示閉區間數。接下來的 n 行中,每行有 2 個整...

選擇不相交區間

思路 為什麼要這樣做呢 首先分析一下題意,就是選擇盡量多的不相交區間,那麼我們就要去掉一些區間,使剩下 的區間不相交,那麼我們要去掉什麼樣的區間呢?我們假設區間 a1,b1 a2,b2 1,如果a1b2,我們說區間1包含區間2,那麼我們就要去掉區間1 2,如果a1 a2 b1 b2,這時候我們仍然要...