[延長的日期/時間] 資料類型會儲存日期與時間資訊,且類似於 [日期/時間] 資料類型,但它提供較大的日期範圍、較高的小數精準度,以及與 SQL Server datetime2 日期類型的相容性。 當您將 Access 資料匯入或連結至 SQL Server 時,您可以將 Access [延長的日期/時間] 欄位一致地對應至 SQL Server datetime2 資料行。 如需詳細資訊,請參閱 datetime2 (Transact-SQL)

[延長的日期/時間] 範圍

警告    當您根據 Access 中的 [延長的日期/時間] 資料類型建立運算式並使用日期/時間函數時,您可能會遺失計算的精確度,或發生其他問題。 我們已發現這個問題,並計畫在即將推出的版本中加強運算式和函數的支援。 如需因應措施,您可以建立傳遞查詢,以使用同等 SQL Server 運算式和日期/時間函數。 如需詳細資訊,請參閱比較 Access SQL 和 SQL Server TSQL

本文內容

比較 [日期/時間] 及 [延長的日期/時間] 資料類型

使用 [延長的日期/時間] 資料類型

向後相容性考慮

使用 [延長的日期/時間] 資料類型作為 VBA 中的字串

比較 [日期/時間] 及 [延長的日期/時間] 資料類型

下表摘要說明兩種資料類型之間的重要差異。

屬性

日期/時間

延長的日期/時間

最小值

100-01-01 00:00:00

0001-01-01 00:00:00

最大值

9999-12-31 23:59:59.999

9999-12-31 23:59:59.9999999

準確性

0.001 秒

1 奈秒

大小

雙精確度浮點

42 位元組的編碼字串

頁面頂端

使用 [延長的日期/時間] 資料類型

下列資訊說明重要的使用注意事項。

[資料表設計] 檢視    若要充分利用較大的資料範圍和更高的精確度,您可以在 Access 資料表中新增欄位。 您也可以在 [資料表設計] 檢視中,將 [日期/時間] 轉換為 [延長的日期/時間] 資料類型。 同時也支援使用這個資料類型做為主要欄位。 如需詳細資訊,請參閱建立資料保和新增欄位

輸入日期和時間   [輸入日期和時間] 值類似於 [日期/時間] 資料類型,但您也可以輸入小數奈秒。 例如:

  • 項目格式:mm/dd/yyyy hh:mm:ss.nnnnnnn

  • 範例:06/15/1215 09:25:3.234

如果有超過 7 個小數奈秒,則會將它們捨入為 7 位數。 若要控制小數奈秒的顯示,請開啟資料表,在功能區上選取 [欄位],然後在 [格式設定] 群組中,選取 [增加小數位數]按鈕影像 或 [減少小數位數]按鈕影像

格式設定    [日期/時間] 和 [延長的日期/時間] 資料類型都使用 [一般日期]、[長日期]、[中日期]、[短日期]、[長時間]、[中時間] 和 [短時間] 的類似標準格式設定字串,並都支援自訂格式設定。 針對 [延長的日期/時間] 資料類型,時間型標準格式也支援奈秒的小數精確度。 [延長的日期/時間] 資料類型的格式設定預設為 [一般日期]和 [長時間] 格式,並遵循 [Windows 地區設定] 中所指定的選項。 您也可以使用 [小數位數] 屬性來指定小數點右邊的位數 (1-7),以控制小數精確度的格式設定。

連結與匯入    您也可以使用對應的資料類型 (例如 SQL Server datetime2 資料類型) 連結至資料庫,或從資料庫匯入。 支援 SQL Server 版本 2014 或更新版本的資料庫。 [延長的日期/時間] 資料類型需要使用 Microsoft ODBC Driver for SQL Server 11 或更新版本。 我們建議您使用 Microsoft ODBC Driver 13.1 for SQL Server。 也支援使用 OLE DB。 如需詳細資訊,請參閱資料類型對 ODBC 日期和時間支援的改善 (部分機器翻譯) 和使用增強型日期和時間功能 (OLE DB)

表單和報表    您可以將 [延長的日期/時間] 資料類型新增到表單或報表。 在表單中,您可以使用 [日期選擇器] 和 [輸入遮罩] 來輸入具有較大範圍的日期,但不能輸入奈秒的小數精準度。

運算式支援   [延長的日期/時間] 資料類型支援 SQL 匯總函數和運算式評估。 例如,使用 LoggedDateTime 做為含有 [延長的日期/時間] 資料類型的欄位:

工作

範例

結果

尋找最小值

Min(LoggedDateTime)

範圍內的最早日期和時間

擷取月份

Month(LoggedDateTime)

月份名稱,例如一月

新增一天

[LoggedDateTime]+1

星期二會變成星期三

頁面頂端

回溯相容性考量

[延長的日期/時間] 延伸資料類型與舊版 Microsoft Access 不相容。 如果類型是在內部 Access 資料表中使用,則不包含此功能的 Access 版本將無法開啟資料庫。

您可以使用目前資料庫存取選項支援Linked/lmported資料表的延長日期/時間資料類型,啟用或停用連結和導入作業的延長日期/時間資料類型。 如需詳細資訊,請參閱設定目前資料庫的使用者選項

頁面頂端

使用 [延長的日期/時間] 資料類型作為 VBA 中的字串

下列 VBA 範例使用 DAO 方法,根據下表顯示、輸入及評估 [延長的日期/時間] 資料類型。

識別碼

DTEData

DTData

1

1/1/2 1:01:03.1234567 AM

1/1/2001

資料表名稱:    DTETable
識別碼資料類型:   自動編號
DTEData 資料類型:   延長的日期與時間
DTData 資料類型:   日期/時間

範例:顯示日期和時間

下列範例會顯示日期和時間。 所用的格式為 24小時制 mm/dd/yyyy hh:mm:ss.nnnnnnn。 無法自訂格式。

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
Do Until rs.EOF
    Debug.Print rs!DTETable
    rs.MoveNext
Loop

結果    Access 顯示:01/01/0002 01:01:03.1234567.

範例:輸入日期和時間

下列範例會使用字串格式輸入日期和時間。 支援所有標準的日期和時間格式。

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
With CurrentDb.OpenRecordset("DTETable")
    .AddNew
    ![DTEData] = "1/1/9999 1:1:1.0123 AM"
    ![DTData] = #1/1/2001#
    .Update
End With

結果    Access 會新增一列 (識別碼 = 2):

識別碼

DTEData

DTData

1

1/1/2 1:01:03.1234567 AM

1/1/2001

2

1/1/9999 1:01:01.0123000 AM

1/1/2001

範例:評估查詢運算式

下列範例使用 [Day 函數] ,從日期和時間欄位擷取天數位。

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT Day(DTEData) as day FROM DTETable")
Do Until rs.EOF
    Debug.Print "The day of the month is: "&rs!day
    rs.MoveNext
Loop

結果    Access 顯示:

該月份的天數為:1
該月份的天數為:1

頁面頂端

另請參閱

資料類型與欄位屬性簡介

設定日期和時間欄位的格式

建立或刪除日期和時間欄位

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×