SQL显示某月全部日期明细以及SQL日期格式

时间:2022-10-22 07:47:47

SQL显示某月全部日期明细<存储过程>

方法一:

 declare @date datetime
declare @end datetime
set @date = DATEADD(d,-day(getdate())+1,getdate())
set @end =DATEADD(month,1,@date)
create table temp
(
[Date] datetime
)
while(@date < @end)
begin
insert into temp values(@date)
set @date=DATEADD(d,1,@date)
end
select * from temp
drop table temp

方法二:

 declare @s varchar(6)
set @s='' declare @date smalldatetime
set @date=@s+'' declare @i smallint
set @i=0
while @i<DATEDIFF(day, @date, dateadd(month, 1, @date))
begin
print convert(varchar(10), dateadd(day, @i, @date), 120)
set @i=@i+1
end

执行结果:

SQL显示某月全部日期明细以及SQL日期格式

下面是我整理的一些SQL日期格式:

1、获取系统日期: GETDATE()

2、select convert(varchar(10),getdate(),120)  --获取当天的日期

3、select MONTH(CDate) as monh,YEAR(CDate) as yearh from Table_XJRecord where DATEPART(m,[CDate])=5 --设置某列列名为monh,yearh

SQL显示某月全部日期明细以及SQL日期格式

4、select  * from Table_XJRecord where datediff(month,[CDate],getdate())=0  //查询当月数据

5、select  * from Table_XJRecord where datediff(month,CDate,getdate())=0 and Status in (2,3)--查询当月的数据并且满足列名status 为2 or 3的情况--

6、select DateDiff("D",getdate(),'2017-04-01')--查询现在距离某个时间的时间
select  * from Table_XJRecord where datediff(month,[CDate],getdate())=0 -- =0 查询当月数据 =1 查询上个月数据--=2查询上上个月  以此类推

7、格式化日期: CONVERT(VARCHAR,GETDATE(),20)  --20表示20位,日期格式为yyyy-mm-dd hh:mm:ss   10表示的日期格式为yy-mm-dd  120表示的日期格式为yyyy-mm-dd