程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sql server函數介紹-日期類

sql server函數介紹-日期類

編輯:關於SqlServer

1、日期概念理解中的一些測試

--A. 測試 datetime 精度問題
DECLARE @t TABLE(date char(21))
INSERT @t SELECT '1900-1-1 00:00:00.000'
INSERT @t SELECT '1900-1-1 00:00:00.001'
INSERT @t SELECT '1900-1-1 00:00:00.009'
INSERT @t SELECT '1900-1-1 00:00:00.002'
INSERT @t SELECT '1900-1-1 00:00:00.003'
INSERT @t SELECT '1900-1-1 00:00:00.004'
INSERT @t SELECT '1900-1-1 00:00:00.005'
INSERT @t SELECT '1900-1-1 00:00:00.006'
INSERT @t SELECT '1900-1-1 00:00:00.007'
INSERT @t SELECT '1900-1-1 00:00:00.008'
SELECT date,轉換後的日期=CAST(date as datetime) FROM @t

/**//*--結果

date         轉換後的日期
--------------------- --------------------------
1900-1-1 00:00:00.000 1900-01-01 00:00:00.000
1900-1-1 00:00:00.001 1900-01-01 00:00:00.000
1900-1-1 00:00:00.009 1900-01-01 00:00:00.010
1900-1-1 00:00:00.002 1900-01-01 00:00:00.003
1900-1-1 00:00:00.003 1900-01-01 00:00:00.003
1900-1-1 00:00:00.004 1900-01-01 00:00:00.003
1900-1-1 00:00:00.005 1900-01-01 00:00:00.007
1900-1-1 00:00:00.006 1900-01-01 00:00:00.007
1900-1-1 00:00:00.007 1900-01-01 00:00:00.007
1900-1-1 00:00:00.008 1900-01-01 00:00:00.007

(所影響的行數為 10 行)
--*/
GO

--B. 對於 datetime 類型的純日期和時間的十六進制表示
DECLARE @dt datetime

--單純的日期
SET @dt='1900-1-2'
SELECT CAST(@dt as binary(8))
--結果: 0x0000000100000000

--單純的時間
SET @dt='00:00:01'
SELECT CAST(@dt as binary(8))
--結果: 0x000000000000012C
GO

--C. 對於 smalldatetime 類型的純日期和時間的十六進制表示
DECLARE @dt smalldatetime

--單純的日期
SET @dt='1900-1-2'
SELECT CAST(@dt as binary(4))
--結果: 0x00010000

--單純的時間
SET @dt='00:10'
SELECT CAST(@dt as binary(4))
--結果: 0x0000000A

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved