
日期有关处理
文章平均质量分 89
htl258_Tony
这个作者很懒,什么都没留下…
展开
-
日期用到的,即全拼和缩写都可以放到参数里面表达
转自:lihan6415151528 Year Yy yyyy 年 1753 ~ 9999 Quarter Qq q 季 1 ~ 4 Month Mm m 月1 ~ 12 Day of year Dy y 一年的日数,一年中的第几日 1-366 Day Dd d 日,1-31 Weekday Dw w 一周的日数,一周中的第几日 1-7 Week Wk ww 周,一年中的第几周转载 2009-03-02 17:09:00 · 1388 阅读 · 0 评论 -
生成日历的SQL语句
DECLARE @Year nvarchar(4)DECLARE @YearMonth nvarchar(7) --月份DECLARE @strTop nvarchar(200)DECLARE @ForI INT,@ForYear INT ,@MaxDay INTDECLARE @RowX INT --行位置 DECLARE @strWeekDayList nvarchar(20)DECLA转载 2009-07-21 19:39:00 · 1532 阅读 · 0 评论 -
给一个日期,得出当月所有日期列表
declare @date datetimeset @date=2009-02-05select [day]=convert(varchar,DATEADD(mm,DATEDIFF(mm,0,@date),0)+number,112)from master..spt_valueswhere type=p and number< datediff(dd,@date,原创 2009-09-06 18:51:00 · 1833 阅读 · 0 评论 -
找出非节假日与周末的日期
比如有一个采购交期,要求不在假日交货. 我建了一个公司假日表,里面包含春节/国庆及公司规定的其他假期,但周末的日期没有输入在表里. 要求, 如果计算得出的交货日期在假期(含周末)里, 则交期提前到假期的前一个工作日. 要求查询不用游标/循环语句等. 直接用一句SQL查询,能做到吗? 表结构参考: V(Dt smalldatetime) 假期表 D(Vend varchar(10),deliDate原创 2009-09-05 11:57:00 · 1337 阅读 · 0 评论 -
生成当天每隔n小时的时间列表
得出一天的时间段记录。(如 1:00-2:00)if OBJECT_ID(fn_time) is not null drop function fn_timegocreate function fn_time(@n int)--每隔n小时一段returns table asreturn( select 时间段=right(100+number*@n,2原创 2009-09-06 18:56:00 · 1036 阅读 · 0 评论 -
计算两个日期段之间有多少个工作日
DECLARE @bt DATETIME,@et DATETIMESELECT @bt=20090801,@et=20090913;WITH t AS( SELECT DATEDIFF(dd,@bt,@et)+1 AS [days], DATEPART(w,@bt+@@DATEFIRST-1) AS [wd] --@@DATEFIRST-1 按周一为一周的第一天原创 2009-09-14 01:54:00 · 1159 阅读 · 1 评论 -
给一个年份,返回每月的第一个星期一
if object_id(fn_monday_of_month) is not null drop function fn_monday_of_monthgocreate function fn_monday_of_month(@year int)returns @r table(dt datetime)as begin declare @dt datetime,@i int原创 2009-09-16 22:29:00 · 1044 阅读 · 0 评论 -
将数据库中所有日期字段更新为非法定节假日与周末(节假日中调整的周末不更新)
/*----------------------------------- Author : htl258(Tony)-- Date : 2009-09-17 20:58:52-- Version: Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) Mar 29 2009 10:27:29 Copy原创 2009-09-17 21:42:00 · 3130 阅读 · 0 评论 -
报表中常用到的日期计算方式(个人小结),陆续更新
-------------------------------------------- --标题:报表中常用到的日期计算方式 --作者:htl258(Tony) --日期:-09-21 02:30 --转载请保留此信息 -------------------------------------------- DECLARE @dt DATETIME原创 2009-09-21 02:27:00 · 1504 阅读 · 0 评论 -
时间分段显示处理
原贴:http://topic.youkuaiyun.com/u/20100329/11/43a17b71-f9e4-44b9-8de1-a200911508f4.html?61069 select * from table#表的全部数据如下:2009-09-03 15:20:00.000 a2009-09-03 15:30:00.000 b2009-09-03 15:45:00.000 c2009-原创 2010-03-29 18:51:00 · 1073 阅读 · 0 评论 -
Oracle个别日期格式在SQL Server中的转换(自定义函数)
在oracle中,select to_timestamp(2010-04-16 16:52:04.093,YYYY-MM-DD HH24:MI:SS.FF3) from dual; 结果是:16-APR-10 04.52.04.093000000 PM如何在SQL SERVER 中实现这样的功能--自定义函数实现: /*--------------------原创 2010-04-17 10:08:00 · 2015 阅读 · 0 评论 -
完善SQL农历转换函数(显示中文格式,加入润月的显示)
---------------------------------------------------------------------------- Author : 原著: 改编:htl258(Tony)-- Date : 2010-04-24 06:39:55-- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1原创 2010-04-24 07:56:00 · 3232 阅读 · 2 评论 -
更新数据库中所有日期字段,周日减一天
-----------------------方法1Declare @T Varchar(255),@C Varchar(255) Declare Table_Cursor Cursor For Select A.Name,B.Name From Sysobjects A,Syscolumns B Where A.Id=B.Id And A.Xtype=u And (B.Xtype=58原创 2009-04-29 00:36:00 · 2833 阅读 · 0 评论 -
指定日期段生成代码
set nocount ondeclare @st datetime,@et datetime,@i int,@type int --0 全部日期,1 仅工作日,2 仅周末,3 仅星期天declare @t table(节假日日期 datetime,节假日名称 varchar(20))select @st=2008-01-01,@et=2009-12-31,@i=0原创 2009-04-28 14:00:00 · 730 阅读 · 0 评论 -
生成日期列表(工作日,休息日,全部日期)
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_getdate]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_getdate]GO/*--生成日期列表 生成指定年份的工作日/休息日列表--邹建 2003.12(引用转载 2009-04-27 12:03:00 · 1924 阅读 · 0 评论 -
日期转换处理相关
DECLARE @dt datetimeSET @dt=GETDATE()DECLARE @number intSET @number=3--1.指定日期该年的第一天或最后一天--A. 年的第一天SELECT CONVERT(char(5),@dt,120)+1-1--B. 年的最后一天SELECT CONVERT(char(5),@dt,120)+12-31--2.指定日期所在季度的第一转载 2009-03-02 13:32:00 · 817 阅读 · 0 评论 -
根据期间日期生成行集(by libin_ftsafe)
现在有一个表为: 起始日期 终止日期 期间任务额 任务人 2009-01-01 2009-01-5 100 a1 2009-01-01 2009-01-2 240 a2 如何根据一条SQL查询,获得如下的表: 任务日期 本日任务额 任务人 2009-转载 2009-03-03 21:06:00 · 816 阅读 · 0 评论 -
SQL日期时间函数(1)
中日期函数的用法悬赏分:5 - 解决时间:2007-3-13 20:40①DATEADD/DAY/DATEDIFF/GETDATE/DATENAME等函数的用法. ②想查询2007年2月9日的付款流水有单笔交易出现多张小票号的情况的小票号,该用什么语句?提问者: 420329630 - 助理 二级 最佳答案1.DateAdd ( I , N , D ) 将一个日期加上一段期间后的日期。 I :设定转载 2009-03-07 02:30:00 · 9176 阅读 · 0 评论 -
SQL日期时间函数(2)
1. 当前系统日期、时间select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,2004-10-15) --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。select datediff(day,2转载 2009-03-07 02:32:00 · 1791 阅读 · 0 评论 -
日期转为星期显示的SQL
根据月份得出日历,求一sql 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13转载 2009-03-21 18:52:00 · 4054 阅读 · 0 评论 -
匹配查找某段时间内某字段相同的内容
--提问者:bmsword 明月剑假设有以下结构的表A: id date times 10 2009-01-01 3 11 2009-01-02 1 12 2009-01-03 3 13 2009-01-04 3 14 2009-01-05 2 15 2009-01-06 0 16 2009-原创 2009-03-23 12:04:00 · 1042 阅读 · 0 评论 -
SQL日期转换函数
DECLARE @t TABLE(id INT IDENTITY,Code VARCHAR(35),Result NVARCHAR(30))INSERT @tSELECT CONVERT(VARCHAR,GETDATE(),0),CONVERT(VARCHAR,GETDATE(),0) UNION ALL SELECT CONVERT(VARCHAR,GETDATE(),1),原创 2009-03-29 14:44:00 · 2162 阅读 · 0 评论 -
求算法:一段时间段内的星期几到星期几的集合
假设时间段为2009-04-01到2009-04-30. 我想得到这段时间内,每逢周一至周二的日期,要返回的结果集可以为DataTable(两列-周二日期和周三日期),或是二维数组(周二日期,周三日期) 另外:因为4月1号是星期三,所以周一至周二只有如下数据: 周一 周二 2009-04-06 2009-04-07 2009-04-13 2009-04-14 2009-04-转载 2009-03-31 22:44:00 · 1547 阅读 · 0 评论 -
SQL语句获得本年日期数据与本月日期数据
-->本年:select dateadd(dd,number,datename(yy,getdate())+0101) from master..spt_values where type=p and numberdatediff(dd,datename(yy,getdate())+0101,datename(yy,getdate())+1231)-->本月:select dat原创 2009-04-16 19:23:00 · 1864 阅读 · 0 评论 -
计算某个日期到今天一共有多少年多少月多少日
比如是07年9月1号,到现在有多少年零几个月零几天这样,不是要他们的总数。是类似按有多少天,再转换成有几年零几个月零几天,就是算工龄一样。 declare @date datetimeset @date = 20070901declare @year int, @month int, @day intset @year = datediff(year, @date, getdate()转载 2009-04-06 01:32:00 · 11494 阅读 · 0 评论 -
查询某日期段之间的生日(考虑跨年)
--查询某日期段之间的生日(考虑跨年 )DECLARE @STARTTIME DATETIME SET @STARTTIME=开始日期 DECLARE @ENDTIME DATETIME SET @ENDTIME=截止日期 SELECT * FROM TB WHERE (DATEADD(YEAR,DATEDIFF(YEAR,BIRTHDA转载 2009-04-23 21:49:00 · 957 阅读 · 1 评论 -
显示每月的日期属于该月的第几周
问题贴:http://topic.youkuaiyun.com/u/20100509/20/045e886c-a38d-4614-a5a4-aa2add05a95b.html?42337------------------------------------------------------------------------------------ Author : htl258(Tony)-原创 2010-05-09 22:07:00 · 3221 阅读 · 0 评论