查詢一時間段內的月份

2022-05-25 08:24:09 字數 1618 閱讀 5103

查詢某一時間段內的所有月份,可以**如下:

--

方法一:

declare

@date1

varchar(10

),

@date2

varchar(10

)set

@date1='

2010-01-01

'set

@date2='

2010-12-01

'select

convert(varchar(7),cast(ltrim(year(@date1)) +'-

'+ltrim(number) +

'-01'as

datetime),120) as yuefen from master..spt_values where type ='p

'and

number

between

month(@date1) and

month(@date2)--

方法二:

declare

@dt1

asdatetime

declare

@dt2

asdatetime

set@dt1='

2008-01-01

'set

@dt2='

2009-01-01'--

使用乙個臨時表

select

top8000

identity(int,0,1) as id into # from

syscolumns a,syscolumns b

select yuefen =

convert(varchar(7),dateadd(mm , m.id , @dt1 ),120) from # m where

convert(varchar(7),dateadd(mm , m.id , @dt1 ),120) <=

convert(varchar(7),@dt2,120)

drop

table #

--

方法三:某段時間內的年份,如果要月份將year改為month

declare

@years

int,

@begin

datetime, --

時間段開始時間

@end

datetime

--時間段結束時間

set@begin='

2017-01-01';

set@end='

2017-12-31';

set@years

=datediff(year,@begin,@end

)select

convert(varchar(4),dateadd(year,number,@begin) ,120) as

months

from

master.dbo.spt_values

where type='p

'and

number

<=

@years

以上兩種方式都可以查詢出時間段內包含的所有月份。

判斷某一時間在某個時間段內

判斷當前時間是否在 starttime,endtime 區間,注意時間格式要一致 param submissiondate 當前時間 param starttime 開始時間 資料庫查出來 param endtime 結束時間 查出來 public static boolean iseffectiv...

mysql如何查詢某一時間段內沒有賣出的商品

前端時間,室友拿來一道關於mysql查詢的問題 有3張表 1,zd product 產品表 zp id主鍵 產品id inputtime 產品發布時間 2,zd order訂單表 zp id外來鍵 產品id zo id主鍵 訂單id zo voer time 訂單完成時間 3,zd ord pro產...

Date 判斷某一時間時間是否在時間段內

判斷時間是否在時間段內 param date 當前時間 yyyy mm dd hh mm ss param strdatebegin 開始時間 00 00 00 param strdateend 結束時間 00 05 00 return public static boolean isindate ...