关闭

sql精确事件函数

标签: sqldate脚本gofunction
386人阅读 评论(0) 收藏 举报

USE [JSIDC_EquipmentManage]
GO
/****** 对象:  UserDefinedFunction [dbo].[fn_DateFormat]    脚本日期: 09/18/2007 15:41:06 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

/****** 对象:  用户定义的函数 dbo.fn_DateFormat    脚本日期: 2007-4-5 14:35:38 ******/
/**********************************************************************************
    自定义函数名称:fn_DateFormat
    功          能:将日期定位到当天的开始(参数值:0)2005-1-1 00:00:00
                 或当天的结束(参数值:1)2005-1-1 23:59:59
    参          数:@Expression nvarchar(4000)
    返  回  参  数:nvarchar(4000)
    调    用    者:当需要对精确到时分秒的数据进行比较时
    编          者:miaojun        时      间:2005-3-6
    修    改    人:ZHULEI                 修 改 时 间:
   **********************************************************************************/
ALTER   FUNCTION [dbo].[fn_DateFormat]
(
 @Date  DATETIME,
 @Format     BIT

RETURNS  DATETIME
 AS 
--代码部分------------------------------------------
BEGIN
 DECLARE @_strStart  VARCHAR(1000)
 DECLARE @_strEnd  VARCHAR(1000)
 DECLARE @_DateTime  DATETIME
 IF @Format=0
     --转换成当天的开始时刻-----------
     BEGIN
  SELECT @_strStart=LTRIM(RTRIM(STR(YEAR(@Date))))+'-'+
     LTRIM(RTRIM(STR(MONTH(@Date))))+'-'+
     LTRIM(RTRIM(STR(DAY(@Date))))+' 00:00:00'
  SELECT @_DateTime=CONVERT(datetime,@_strStart,120)
  
     END
 
 ELSE
    
     --转换成当天的开始时刻-----------
     BEGIN
  SELECT @_strEnd=LTRIM(RTRIM(STR(YEAR(@Date))))+'-'+
     LTRIM(RTRIM(STR(MONTH(@Date))))+'-'+
     LTRIM(RTRIM(STR(DAY(@Date))))+' 23:59:59'
  SELECT @_DateTime=CONVERT(datetime,@_strEnd,120)
  
     END 
 
 RETURN @_DateTime
END


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:82072次
    • 积分:1660
    • 等级:
    • 排名:千里之外
    • 原创:83篇
    • 转载:27篇
    • 译文:1篇
    • 评论:2条
    最新评论