34,575
社区成员
发帖
与我相关
我的任务
分享
declare @s date
select @s='2012-01-01' --> 定义开始日期
select cast(datepart(yy,dateadd(dd,number,@s)) as varchar(4))+'年'
+cast(datepart(mm,dateadd(dd,number,@s)) as varchar(4))+'月'
+cast(datepart(dd,dateadd(dd,number,@s)) as varchar(4))+'日' '字符串日期格式',
case datepart(dw,dateadd(dd,number,@s))
when 1 then '星期日'
when 2 then '星期一'
when 3 then '星期二'
when 4 then '星期三'
when 5 then '星期四'
when 6 then '星期五'
when 7 then '星期六' end '时间日期格式',
convert(varchar(100),dateadd(dd,number,@s),23)+' null' '备注'
from master.dbo.spt_values
where [type]='P' and
dateadd(dd,number,@s)<dateadd(year,1,@s)
字符串日期格式 时间日期格式 备注
------------------ ----------- ---------------
2012年1月1日 星期日 2012-01-01 null
2012年1月2日 星期一 2012-01-02 null
2012年1月3日 星期二 2012-01-03 null
2012年1月4日 星期三 2012-01-04 null
2012年1月5日 星期四 2012-01-05 null
2012年1月6日 星期五 2012-01-06 null
2012年1月7日 星期六 2012-01-07 null
2012年1月8日 星期日 2012-01-08 null
2012年1月9日 星期一 2012-01-09 null
2012年1月10日 星期二 2012-01-10 null
2012年1月11日 星期三 2012-01-11 null
2012年1月12日 星期四 2012-01-12 null
2012年1月13日 星期五 2012-01-13 null
2012年1月14日 星期六 2012-01-14 null
2012年1月15日 星期日 2012-01-15 null
2012年1月16日 星期一 2012-01-16 null
2012年1月17日 星期二 2012-01-17 null
2012年1月18日 星期三 2012-01-18 null
2012年1月19日 星期四 2012-01-19 null
2012年1月20日 星期五 2012-01-20 null
2012年1月21日 星期六 2012-01-21 null
2012年1月22日 星期日 2012-01-22 null
2012年1月23日 星期一 2012-01-23 null
2012年1月24日 星期二 2012-01-24 null
2012年1月25日 星期三 2012-01-25 null
2012年1月26日 星期四 2012-01-26 null
2012年1月27日 星期五 2012-01-27 null
2012年1月28日 星期六 2012-01-28 null
2012年1月29日 星期日 2012-01-29 null
2012年1月30日 星期一 2012-01-30 null
2012年1月31日 星期二 2012-01-31 null
2012年2月1日 星期三 2012-02-01 null
2012年2月2日 星期四 2012-02-02 null
2012年2月3日 星期五 2012-02-03 null
2012年2月4日 星期六 2012-02-04 null
2012年2月5日 星期日 2012-02-05 null
2012年2月6日 星期一 2012-02-06 null
2012年2月7日 星期二 2012-02-07 null
2012年2月8日 星期三 2012-02-08 null
2012年2月9日 星期四 2012-02-09 null
2012年2月10日 星期五 2012-02-10 null
2012年2月11日 星期六 2012-02-11 null
2012年2月12日 星期日 2012-02-12 null
2012年2月13日 星期一 2012-02-13 null
2012年2月14日 星期二 2012-02-14 null
2012年2月15日 星期三 2012-02-15 null
2012年2月16日 星期四 2012-02-16 null
2012年2月17日 星期五 2012-02-17 null
2012年2月18日 星期六 2012-02-18 null
2012年2月19日 星期日 2012-02-19 null
2012年2月20日 星期一 2012-02-20 null
2012年2月21日 星期二 2012-02-21 null
2012年2月22日 星期三 2012-02-22 null
2012年2月23日 星期四 2012-02-23 null
2012年2月24日 星期五 2012-02-24 null
2012年2月25日 星期六 2012-02-25 null
2012年2月26日 星期日 2012-02-26 null
2012年2月27日 星期一 2012-02-27 null
2012年2月28日 星期二 2012-02-28 null
2012年2月29日 星期三 2012-02-29 null
2012年3月1日 星期四 2012-03-01 null
2012年3月2日 星期五 2012-03-02 null
2012年3月3日 星期六 2012-03-03 null
2012年3月4日 星期日 2012-03-04 null
2012年3月5日 星期一 2012-03-05 null
2012年3月6日 星期二 2012-03-06 null
2012年3月7日 星期三 2012-03-07 null
2012年3月8日 星期四 2012-03-08 null
2012年3月9日 星期五 2012-03-09 null
2012年3月10日 星期六 2012-03-10 null
2012年3月11日 星期日 2012-03-11 null
2012年3月12日 星期一 2012-03-12 null
2012年3月13日 星期二 2012-03-13 null
... (略)
(366 row(s) affected)
select dateadd(dd,number,'2012-1-1') AS date
from master..spt_values
where type='p' and dateadd(dd,number,'2012-1-1')<='2012-12-30'
date
-----------------------
2012-01-01 00:00:00.000
2012-01-02 00:00:00.000
2012-01-03 00:00:00.000
2012-01-04 00:00:00.000
2012-01-05 00:00:00.000
2012-01-06 00:00:00.000
2012-01-07 00:00:00.000
2012-01-08 00:00:00.000
2012-01-09 00:00:00.000
2012-01-10 00:00:00.000
2012-01-11 00:00:00.000
2012-01-12 00:00:00.000
2012-01-13 00:00:00.000
2012-01-14 00:00:00.000
2012-01-15 00:00:00.000
2012-01-16 00:00:00.000
2012-01-17 00:00:00.000
2012-01-18 00:00:00.000
2012-01-19 00:00:00.000
2012-01-20 00:00:00.000
2012-01-21 00:00:00.000
2012-01-22 00:00:00.000
2012-01-23 00:00:00.000
2012-01-24 00:00:00.000
2012-01-25 00:00:00.000
2012-01-26 00:00:00.000
2012-01-27 00:00:00.000
2012-01-28 00:00:00.000
2012-01-29 00:00:00.000
2012-01-30 00:00:00.000
2012-01-31 00:00:00.000
2012-02-01 00:00:00.000
2012-02-02 00:00:00.000
2012-02-03 00:00:00.000
2012-02-04 00:00:00.000
2012-02-05 00:00:00.000
2012-02-06 00:00:00.000
2012-02-07 00:00:00.000
2012-02-08 00:00:00.000
2012-02-09 00:00:00.000
2012-02-10 00:00:00.000
2012-02-11 00:00:00.000
2012-02-12 00:00:00.000
2012-02-13 00:00:00.000
2012-02-14 00:00:00.000
2012-02-15 00:00:00.000
2012-02-16 00:00:00.000
2012-02-17 00:00:00.000
2012-02-18 00:00:00.000
2012-02-19 00:00:00.000
2012-02-20 00:00:00.000
2012-02-21 00:00:00.000
2012-02-22 00:00:00.000
2012-02-23 00:00:00.000
2012-02-24 00:00:00.000
2012-02-25 00:00:00.000
2012-02-26 00:00:00.000
2012-02-27 00:00:00.000
2012-02-28 00:00:00.000
2012-02-29 00:00:00.000
2012-03-01 00:00:00.000
2012-03-02 00:00:00.000
2012-03-03 00:00:00.000
2012-03-04 00:00:00.000
2012-03-05 00:00:00.000
2012-03-06 00:00:00.000
2012-03-07 00:00:00.000
2012-03-08 00:00:00.000
2012-03-09 00:00:00.000
2012-03-10 00:00:00.000
2012-03-11 00:00:00.000
2012-03-12 00:00:00.000
2012-03-13 00:00:00.000
2012-03-14 00:00:00.000
2012-03-15 00:00:00.000
2012-03-16 00:00:00.000
2012-03-17 00:00:00.000
2012-03-18 00:00:00.000
2012-03-19 00:00:00.000
2012-03-20 00:00:00.000
2012-03-21 00:00:00.000
2012-03-22 00:00:00.000
2012-03-23 00:00:00.000
2012-03-24 00:00:00.000
2012-03-25 00:00:00.000
2012-03-26 00:00:00.000
2012-03-27 00:00:00.000
2012-03-28 00:00:00.000
2012-03-29 00:00:00.000
2012-03-30 00:00:00.000
2012-03-31 00:00:00.000
2012-04-01 00:00:00.000
2012-04-02 00:00:00.000
2012-04-03 00:00:00.000
2012-04-04 00:00:00.000
2012-04-05 00:00:00.000
2012-04-06 00:00:00.000
2012-04-07 00:00:00.000
2012-04-08 00:00:00.000
2012-04-09 00:00:00.000
2012-04-10 00:00:00.000
2012-04-11 00:00:00.000
2012-04-12 00:00:00.000
2012-04-13 00:00:00.000
2012-04-14 00:00:00.000
2012-04-15 00:00:00.000
2012-04-16 00:00:00.000
2012-04-17 00:00:00.000
2012-04-18 00:00:00.000
2012-04-19 00:00:00.000
2012-04-20 00:00:00.000
2012-04-21 00:00:00.000
2012-04-22 00:00:00.000
2012-04-23 00:00:00.000
2012-04-24 00:00:00.000
2012-04-25 00:00:00.000
2012-04-26 00:00:00.000
2012-04-27 00:00:00.000
2012-04-28 00:00:00.000
2012-04-29 00:00:00.000
2012-04-30 00:00:00.000
2012-05-01 00:00:00.000
2012-05-02 00:00:00.000
2012-05-03 00:00:00.000
2012-05-04 00:00:00.000
2012-05-05 00:00:00.000
2012-05-06 00:00:00.000
2012-05-07 00:00:00.000
2012-05-08 00:00:00.000
2012-05-09 00:00:00.000
2012-05-10 00:00:00.000
2012-05-11 00:00:00.000
2012-05-12 00:00:00.000
2012-05-13 00:00:00.000
2012-05-14 00:00:00.000
2012-05-15 00:00:00.000
2012-05-16 00:00:00.000
2012-05-17 00:00:00.000
2012-05-18 00:00:00.000
2012-05-19 00:00:00.000
2012-05-20 00:00:00.000
2012-05-21 00:00:00.000
2012-05-22 00:00:00.000
2012-05-23 00:00:00.000
2012-05-24 00:00:00.000
2012-05-25 00:00:00.000
2012-05-26 00:00:00.000
2012-05-27 00:00:00.000
2012-05-28 00:00:00.000
2012-05-29 00:00:00.000
2012-05-30 00:00:00.000
2012-05-31 00:00:00.000
2012-06-01 00:00:00.000
2012-06-02 00:00:00.000
2012-06-03 00:00:00.000
2012-06-04 00:00:00.000
2012-06-05 00:00:00.000
2012-06-06 00:00:00.000
2012-06-07 00:00:00.000
2012-06-08 00:00:00.000
2012-06-09 00:00:00.000
2012-06-10 00:00:00.000
2012-06-11 00:00:00.000
2012-06-12 00:00:00.000
2012-06-13 00:00:00.000
2012-06-14 00:00:00.000
2012-06-15 00:00:00.000
2012-06-16 00:00:00.000
2012-06-17 00:00:00.000
2012-06-18 00:00:00.000
2012-06-19 00:00:00.000
2012-06-20 00:00:00.000
2012-06-21 00:00:00.000
2012-06-22 00:00:00.000
2012-06-23 00:00:00.000
2012-06-24 00:00:00.000
2012-06-25 00:00:00.000
2012-06-26 00:00:00.000
2012-06-27 00:00:00.000
2012-06-28 00:00:00.000
2012-06-29 00:00:00.000
2012-06-30 00:00:00.000
2012-07-01 00:00:00.000
2012-07-02 00:00:00.000
2012-07-03 00:00:00.000
2012-07-04 00:00:00.000
2012-07-05 00:00:00.000
2012-07-06 00:00:00.000
2012-07-07 00:00:00.000
2012-07-08 00:00:00.000
2012-07-09 00:00:00.000
2012-07-10 00:00:00.000
2012-07-11 00:00:00.000
2012-07-12 00:00:00.000
2012-07-13 00:00:00.000
2012-07-14 00:00:00.000
2012-07-15 00:00:00.000
2012-07-16 00:00:00.000
2012-07-17 00:00:00.000
2012-07-18 00:00:00.000
2012-07-19 00:00:00.000
2012-07-20 00:00:00.000
2012-07-21 00:00:00.000
2012-07-22 00:00:00.000
2012-07-23 00:00:00.000
2012-07-24 00:00:00.000
2012-07-25 00:00:00.000
2012-07-26 00:00:00.000
2012-07-27 00:00:00.000
2012-07-28 00:00:00.000
2012-07-29 00:00:00.000
2012-07-30 00:00:00.000
2012-07-31 00:00:00.000
2012-08-01 00:00:00.000
2012-08-02 00:00:00.000
2012-08-03 00:00:00.000
2012-08-04 00:00:00.000
2012-08-05 00:00:00.000
2012-08-06 00:00:00.000
2012-08-07 00:00:00.000
2012-08-08 00:00:00.000
2012-08-09 00:00:00.000
2012-08-10 00:00:00.000
2012-08-11 00:00:00.000
2012-08-12 00:00:00.000
2012-08-13 00:00:00.000
2012-08-14 00:00:00.000
2012-08-15 00:00:00.000
2012-08-16 00:00:00.000
2012-08-17 00:00:00.000
2012-08-18 00:00:00.000
2012-08-19 00:00:00.000
2012-08-20 00:00:00.000
2012-08-21 00:00:00.000
2012-08-22 00:00:00.000
2012-08-23 00:00:00.000
2012-08-24 00:00:00.000
2012-08-25 00:00:00.000
2012-08-26 00:00:00.000
2012-08-27 00:00:00.000
2012-08-28 00:00:00.000
2012-08-29 00:00:00.000
2012-08-30 00:00:00.000
2012-08-31 00:00:00.000
2012-09-01 00:00:00.000
2012-09-02 00:00:00.000
2012-09-03 00:00:00.000
2012-09-04 00:00:00.000
2012-09-05 00:00:00.000
2012-09-06 00:00:00.000
2012-09-07 00:00:00.000
2012-09-08 00:00:00.000
2012-09-09 00:00:00.000
2012-09-10 00:00:00.000
2012-09-11 00:00:00.000
2012-09-12 00:00:00.000
2012-09-13 00:00:00.000
2012-09-14 00:00:00.000
2012-09-15 00:00:00.000
2012-09-16 00:00:00.000
2012-09-17 00:00:00.000
2012-09-18 00:00:00.000
2012-09-19 00:00:00.000
2012-09-20 00:00:00.000
2012-09-21 00:00:00.000
2012-09-22 00:00:00.000
2012-09-23 00:00:00.000
2012-09-24 00:00:00.000
2012-09-25 00:00:00.000
2012-09-26 00:00:00.000
2012-09-27 00:00:00.000
2012-09-28 00:00:00.000
2012-09-29 00:00:00.000
2012-09-30 00:00:00.000
2012-10-01 00:00:00.000
2012-10-02 00:00:00.000
2012-10-03 00:00:00.000
2012-10-04 00:00:00.000
2012-10-05 00:00:00.000
2012-10-06 00:00:00.000
2012-10-07 00:00:00.000
2012-10-08 00:00:00.000
2012-10-09 00:00:00.000
2012-10-10 00:00:00.000
2012-10-11 00:00:00.000
2012-10-12 00:00:00.000
2012-10-13 00:00:00.000
2012-10-14 00:00:00.000
2012-10-15 00:00:00.000
2012-10-16 00:00:00.000
2012-10-17 00:00:00.000
2012-10-18 00:00:00.000
2012-10-19 00:00:00.000
2012-10-20 00:00:00.000
2012-10-21 00:00:00.000
2012-10-22 00:00:00.000
2012-10-23 00:00:00.000
2012-10-24 00:00:00.000
2012-10-25 00:00:00.000
2012-10-26 00:00:00.000
2012-10-27 00:00:00.000
2012-10-28 00:00:00.000
2012-10-29 00:00:00.000
2012-10-30 00:00:00.000
2012-10-31 00:00:00.000
2012-11-01 00:00:00.000
2012-11-02 00:00:00.000
2012-11-03 00:00:00.000
2012-11-04 00:00:00.000
2012-11-05 00:00:00.000
2012-11-06 00:00:00.000
2012-11-07 00:00:00.000
2012-11-08 00:00:00.000
2012-11-09 00:00:00.000
2012-11-10 00:00:00.000
2012-11-11 00:00:00.000
2012-11-12 00:00:00.000
2012-11-13 00:00:00.000
2012-11-14 00:00:00.000
2012-11-15 00:00:00.000
2012-11-16 00:00:00.000
2012-11-17 00:00:00.000
2012-11-18 00:00:00.000
2012-11-19 00:00:00.000
2012-11-20 00:00:00.000
2012-11-21 00:00:00.000
2012-11-22 00:00:00.000
2012-11-23 00:00:00.000
2012-11-24 00:00:00.000
2012-11-25 00:00:00.000
2012-11-26 00:00:00.000
2012-11-27 00:00:00.000
2012-11-28 00:00:00.000
2012-11-29 00:00:00.000
2012-11-30 00:00:00.000
2012-12-01 00:00:00.000
2012-12-02 00:00:00.000
2012-12-03 00:00:00.000
2012-12-04 00:00:00.000
2012-12-05 00:00:00.000
2012-12-06 00:00:00.000
2012-12-07 00:00:00.000
2012-12-08 00:00:00.000
2012-12-09 00:00:00.000
2012-12-10 00:00:00.000
2012-12-11 00:00:00.000
2012-12-12 00:00:00.000
2012-12-13 00:00:00.000
2012-12-14 00:00:00.000
2012-12-15 00:00:00.000
2012-12-16 00:00:00.000
2012-12-17 00:00:00.000
2012-12-18 00:00:00.000
2012-12-19 00:00:00.000
2012-12-20 00:00:00.000
2012-12-21 00:00:00.000
2012-12-22 00:00:00.000
2012-12-23 00:00:00.000
2012-12-24 00:00:00.000
2012-12-25 00:00:00.000
2012-12-26 00:00:00.000
2012-12-27 00:00:00.000
2012-12-28 00:00:00.000
2012-12-29 00:00:00.000
2012-12-30 00:00:00.000
(365 行受影响)
WITH CTEDates AS ( SELECT CAST('20070101' AS DATETIME) AS DateVal UNION ALL SELECT DATEADD(dd, 1, DateVal) FROM CTEDates WHERE DateVal < '20071231' )SELECT DateVal, 0,0,0 FROM CTEDates OPTION (MAXRECURSION 366)
WITH Dates AS
( SELECT [Date] = CONVERT(DATETIME,'01/01/2011')
UNION ALL
SELECT [Date] = DATEADD(DAY, 1, [Date]) FROM Dates WHERE Date < '12/31/2011' )
SELECT [Date],DATENAME(YEAR,date)AS 年,DATENAME(month,date)AS 月,DATENAME(day,date)AS 日,DATENAME(dw,date)AS 星期,DATENAME(week,date)AS 周数,convert(varchar(10),dateadd(dd,-(DatePart(weekday, dateadd(dd,-1,getdate()))-1),getdate()),120) as 周一日期,convert(varchar(10),dateadd(dd,(5-DatePart(weekday, dateadd(dd,-1,getdate()))),getdate()),120)周五日期 FROM Dates OPTION (MAXRECURSION 366)
declare @start datetime
declare @end datetime
set @start = '2012-01-01'
set @end = '2013-01-01'
;with ach as
(
select dateadd(dd,number,@start) date
from master..spt_values
where [type] = 'p' and number between 0 and datediff(dd,@start,@end)
and year(dateadd(dd,number,@start)) = year(@start)
)
select ltrim(year(date))+'年'+ltrim(month(date))+'月'+ltrim(day(date))+'日' as 时间,
case datepart(dw,date)
when 1 then '星期日'
when 2 then '星期一'
when 3 then '星期二'
when 4 then '星期三'
when 5 then '星期四'
when 6 then '星期五'
when 7 then '星期六' end 时间日期格式,convert(varchar(10),date,120) 格式,null 备注
from ach