Pages

SQL Transfer DateTime to Pure Date

Jun 30, 2012
這個範例是關於在 SQL Server 中撰寫的方法,目的是將完整的 DateTime 資料, 去除時間內容, 僅保留日期的部分,時分秒的部分歸零,例如:
資料內容是 2012-06-30 08:43:01.287
轉換後的是 2012-06-30 00:00:00.000
未達成這目的有很多作法,筆者採用內建函數 CONVERT ,兩次型別轉換即可達成。



Create Function syntax

/*------------------------------------------------
description: 將完整的DateTime資料, 去除時間內容, 僅保留日期
author: Robin
date: 2012/06/30
testing code:
--------------------------------------------------
DECLARE @NOW DATETIME, @TODAY DATETIME
SET @NOW=GETDATE()
SET @TODAY = dbo.DATETIME_TO_DAY(@NOW)
SELECT @NOW, @TODAY
--------------------------------------------------
*/
CREATE FUNCTION DATETIME_TO_DAY
( @NOW DATETIME                 /*含有時間內容*/ )
RETURNS DATETIME /*只保留日期內容*/
AS
BEGIN
DECLARE @TODAY DATETIME
SET @TODAY =CONVERT( DATETIME, CONVERT(VARCHAR (10), @NOW, 111), 111 )
RETURN @TODAY
END