sql有关日期的实现

原创 2004年10月12日 23:13:00

--************
--在两个日期范围里所跨越那几周返回如:1,2表是第一周和第二周,

declare @aa table (date datetime,weekdays int )  
declare @i int   
set @i=datediff(day,@bdate,@edate)   
while(@i>=0)   
begin   
insert @aa   
values (dateadd(day,@i,@bdate),datepart(week,dateadd(day,@i,@bdate)))   
set @i=@i-1   
end 
select weekdays  
into #week 
from @AA group by weekdays

--************
--在日期范围里减去周六、周日的天数
create function a (@Sdate datetime ,@Edate datetime) 
returns   int 
as 
begin 
declare @aa table (date datetime) 
declare @i int 
set @i=datediff(day,@Sdate,@Edate) 
while(@i>=0) 
begin 
insert @aa  
values (dateadd(day,@i,@Sdate)) 
set @i=@i-1 
end 
select @i= count(*)  from @aa where   datepart(weekday,date) not in (1,7)  
return @i 
 
end 

--如:select dbo.A('2004-10-01','2004-10-11')
--返回结果为7

--***********
--输入第几周得到此周的开始、结束日期
declare @FirstDayOfYear datetime--年頭
declare @FirstDayWeekOfYear datetime --第一周的第一天
declare @BDate datetime
declare @EDate datetime

select @FirstDayOfYear= dateadd(yy,datediff(yy,0,getdate()),0)                
select   @FirstDayWeekOfYear=@FirstDayOfYear  - datepart(dw, @FirstDayOfYear)+1

select  @EDate=dateadd(ww,@week,@FirstDayWeekOfYear-1 )
select @BDate=  dateadd(ww,-1,dateadd(dd,1,@EDate)  )

SET @BDate =convert(datetime, convert(char(10),@BDate,101))     
SET @EDate =convert(datetime, convert(char(10),@EDate,101))

设计一个时间类Time

/*设计一个时间类(Time),有年、月、日3个属性,有 成员函数void setTime(int y ,int m,int d)能够完成设置当前年月日 成员函数void setTime(int m,...
  • chenzongduozhu
  • chenzongduozhu
  • 2016年12月03日 16:36
  • 1134

SQL计算两个日期之间的工作天数(除过周六日的天数)

计算两个日期之前的工作天数,可通过编写如下函数实现:   createFUNCTION [dbo].[f_workday](  @dt_begin datetime,  --计算的开始日期  ...
  • lwjok2007
  • lwjok2007
  • 2013年11月05日 14:24
  • 3923

和日期有关的sql

1. 当前系统日期、时间 select getdate()  2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd...
  • ITNoobie
  • ITNoobie
  • 2015年12月07日 15:12
  • 202

SQL Server 服务无法启动。有关详细信息,请参阅 SQL Server 联机丛书中的主题“如何查看 SQL Server 2005 安装日志文件”和“手动启动 SQL Server”

SQL Server 服务无法启动。有关详细信息,请参阅 SQL Server 联机丛书中的主题“如何查看 SQL Server 2  (2011-05-21 18:59:57) 转载▼ ...
  • H_O_W_E
  • H_O_W_E
  • 2015年10月09日 02:59
  • 4236

有关日期计算的二个常用方法

/** *//**     * 计算N天之后的日期     *      * @param bgdate     * @param days     * @return     */    publi...
  • rcyl2003
  • rcyl2003
  • 2007年08月31日 17:58
  • 544

SQL中的DateAdd 、DateDiff 函数实现日期加减

返回跨两个指定日期的日期边界数和时间边界数。DateADD 语法:DateAdd ( datepart , numb , date ) Datepart:指定参于运算的日期部分Numb:需要加减的数...
  • sntyy
  • sntyy
  • 2008年07月11日 13:40
  • 18775

SQL 对表格进行按日期分组

在数据库里,有一张表名为 tb_name 里,有一个叫 resultDate 的字段,此字段里存的是日期+时间 类型的,现在这字段里面有如下的数据: 2011-11-30 14:54:16 ...
  • saindy5828
  • saindy5828
  • 2012年03月09日 09:48
  • 2353

(Sql Server)有关日期函数应用

SET LANGUAGE对日期处理的影响示例--以下示例演示了在不同的语言环境(SET LANGUAGE)下,DATENAME与CONVERT函数的不同结果。USE master--设置会话的语言环境...
  • yuan8080
  • yuan8080
  • 2010年05月19日 00:08
  • 349

Sql计算两个日期之间的天数

问题求两个日期之间相差的天数。例如,想了解员工ALLEN 和员工WARD的HIREDATE(聘用日期)之间相差的天数。解决方案DB2使用两个内联视图求WARD和ALLEN的HIREDATE(聘用日期)...
  • gaotianle
  • gaotianle
  • 2007年10月18日 09:20
  • 21122

SQL 语句查询指定某日期的数据

SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDE...
  • qq_20147577
  • qq_20147577
  • 2017年03月21日 18:36
  • 1286
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql有关日期的实现
举报原因:
原因补充:

(最多只允许输入30个字)