㈠ sql查詢某年各個月最後一天的記錄
我寫了下面的語句供你參考,涉及到的內容:1、cast() 數據類型轉換2、轉義字元 (''),兩個單引號代表一個單引號3、while 循環4、union all 查詢連接 declare @day int
declare @month int
declare @year int
declare @date_string varchar(20)declare @checktime_start datetime
declare @checktime_end datetimedeclare @sql varchar(2048)set @year = 2009
set @month = 2
set @sql = ''
while(@month<=12)
begin
select @date_string = cast(@year as varchar)+'-'+cast(@month as varchar)+'-'+'01'
set @date_string = cast(@date_string AS DATETIME)
set @checktime_end = dateadd(day,-1,@date_string)
set @checktime_start = dateadd(day,-2,@date_string) --在這個地方寫你要查詢的內容[table]是你的表,[date]是時間列,還有別的條件你自己加
set @sql = @sql + 'select * from [table] where [date] between '''+cast(@checktime_start AS varchar(16))+''' and '''+ cast(@checktime_end AS varchar(16))+ ''' union all '
set @month = @month +1
end
set @sql = @sql + 'select * from [table] where [date] between ''12 30 2009 12:00AM'' and ''12 31 2009 12:00AM'''
--print(@sql)
exec @sql
這個是按你要求只查詢2009年的記錄,假如你要查2005到2009,你在while循環外面再加個對年的循環。
㈡ 在sql server當中如何按月查詢數據並且當前月最後一天與上個月最後一天作比較
思路:
1、上月最後一天:需要用當前月的第一天減去一天得到
2、當前月的最後一天:需要使用下月的第一天減去一天得到
3、未說明如何如何作比較,故無法給出示例
declare @LastMonth as varchar(10)--上月最後一天日期
declare @CurMonth as varchar(10)--當前月最後一天日期
select @LastMonth=convert(varchar(10),dateadd(DD,-1,convert(varchar(7),getdate(),120)+'-01'),120),@CurMonth=convert(varchar(10),dateadd(DD,-1,convert(varchar(7),dateadd(mm,1,getdate()),120)+'-01'),120)
select @LastMonth,@CurMonth
㈢ 用SQL取每個月的最後一天,怎麼寫
Oracle : select last_day(sysdate) from al ;
Mysql : SELECT LAST_DAY('2003-02-05');
㈣ sql server2000中如何截取每個月最後一天的數據
select dateadd(mm,datediff(mm,-1,dateCol),-1) from table
這樣能找到你表裡的數據是最後一天的日期查出來,在把日期Exists裡面的記錄過濾出來,Group by 一下就OK了。
㈤ 在sql server 中如何獲取當月最後一天
語句如下:
selectconvert(varchar(10),dateadd(d,-1,convert(varchar(7),dateadd(m,1,getdate()),120)+'-01'),120)
執行結果如圖:
延伸閱讀:
SQL Server CONVERT() 函數
定義和用法
CONVERT() 函數是把日期轉換為新數據類型的通用函數。
CONVERT() 函數可以用不同的格式顯示日期/時間數據。
語法
CONVERT(data_type(length),data_to_be_converted,style)
SQL Server DATEADD() 函數
定義和用法
DATEADD() 函數在日期中添加或減去指定的時間間隔。
語法
DATEADD(datepart,number,date)
㈥ Sql 語句咋么把每月最後一天Select 出來
select * from 表111 A
WHERE NOT EXISTS ( SELECT 1 FROM 表111 B WHERE A.MONTH(交易日期) = B.(交易日期) AND B.DAY(交易日期) > A.DAY(交易日期))
這個可以篩選出表中每個月最後一天的,也就是說,比如2011年5月,表中最大的日期到5月28日,那麼這個會把這天的數據選出來,而不是空(因為實際的最後一天為空)。
我沒有ACCESS環境,您試試這個語法。
㈦ sql 語句 怎麼獲取指定月的第一天和最後一天
first_day()得到一個月中的第一天:如first_day(to_date('2008-5-22','yyyy-mm-dd')) 結果:2008-5-1
last_day()得到一個月最後的一天:如:last_day(to_date('2008-5-22','yyyy-mm-dd')) 結果:2008-5-31 ;
㈧ 如何用sql獲取上個月的第一天和上個月的最後一天
--上一個月的最後一天sysdate為系統當前時間
SELECTTO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-1)),'yyyy-mm-dd')FROMDUAL;
--上一個月的最後一天
SELECTTO_CHAR(TRUNC(ADD_MONTHS(SYSDATE,-1),'mm'),'yyyy-mm-dd')
FROMDUAL;