Razširjeni podatkovni tip »Datum/čas« shranjuje podatke o datumu in času in je podoben podatkovnem tipu »Datum/čas«, vendar zagotavlja večji datumski obseg, višjo natančnost ulomka in združljivost z vrsto datuma SQL Server datetime2. Ko uvozite Accessove podatke ali jih povežete z SQL Server, lahko polje »Razširjeni datum/čas« Accessa dosledno preslikate SQL Server stolpec »datetime2«. Če želite več informacij, glejte datum in čas2 (Transact-SQL).
Opozorilo Ko ustvarite izraze in uporabite funkcije za datum/čas, ki temeljijo na razširjenem podatkovnem tipu »Datum/čas« v Accessu, lahko izgubite natančnost pri izračunih ali naletite na druge težave z rezultati. O tej težavi smo že seznanjeni in načrtujemo boljšo podporo izrazov in funkcij v prihodnji izdaji. Nadomestna rešitev je, da Ustvarjanje prepustno poizvedbo, če želite uporabiti enakovredne SQL Server izraza in datum/čas. Če želite več informacij, glejte Primerjava strežnika Access SQL SQL Server TSQL.
V tem članku
Primerjava razširjenih podatkovnih tipov »Datum/ura« in »Datum/čas« |
Uporaba razširjenega podatkovnega tipa »Datum/čas« kot niza v kodi VBA |
Primerjava razširjenih podatkovnih tipov »Datum/ura« in »Datum/čas«
V teh tabelah so povzete pomembne razlike med dvema podatkovnima vrstama.
Atribut |
Datum/čas |
Podaljšan datum/čas |
---|---|---|
Najmanjša vrednost |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
Največja vrednost |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
Natančnost |
0,001 sekunde |
1 nanosekunda |
Size |
Plavajoča vejica z dvojno natančnostjo |
Kodiran niz 42 bajtov |
Uporaba razširjenega podatkovnega tipa »Datum/čas«
V teh informacijah so opisani pomembni pomisleki glede uporabe.
Pogled načrta tabele Če želite izkoristiti večji obseg podatkov in večjo natančnost, lahko dodate polje v Accessovo tabelo. Datum/čas lahko pretvorite tudi v razširjeni podatkovni tip »Datum/čas« v pogledu načrta tabele. Podprta je tudi uporaba tega podatkovnega tipa kot polja s primarnim ključem. Če želite več informacij, Ustvarjanje tabele in dodajanje polj.
Vnašanje datuma in časa Vnos vrednosti datuma in ure je podoben podatkovnem tipu »Datum/čas«, le da lahko vnesete tudi ulomek nanosekunde. Primer:
-
Oblika vnosa: mm/dd/yyyy hh:mm:ss.nnnnnnn
-
Primer: 06/15/1215 09:25:3.234
Če je več kot 7 ulomkov nanosekund, so zaokrožene na 7 števk. Če želite nadzirati prikaz ulomkov nanosekund, odprite tabelo, na traku izberite Polja in v skupini Oblikovanje izberite Povečaj decimalna mesta ali Zmanjšaj število decimalnih mest .
Oblikovanje Tako podatkovni tipi »Datum/ura« kot »Datum/čas« in »Datum/čas« uporabljajo podobne standardne nize oblikovanja za »Splošen datum«, »Dolga oblika datuma«, »Skrajšana oblika datuma«, »Kratka oblika datuma«, »Dolga oblika ure« in »Skrajšana ura« ter obe podpirata oblikovanje po meri. Za razširjeni podatkovni tip »Datum/čas« standardne oblike, ki temeljijo na času, podpirajo tudi necelično natančnost za nanosekunde. Oblikovanje razširjenega podatkovnega tipa »Datum/čas« je privzeto splošno obliko zapisa datuma in dolge ure ter upošteva možnosti, določene v področnih nastavitvah sistema Windows. Oblikovanje natančnosti ulomka lahko nadzorujete tudi z lastnostjo Decimalni Places, da določite število števk na desni strani decimalne vejice (1–7).
Povezovanje in uvoz Ustvarite lahko tudi povezavo do zbirke podatkov ali pa jo uvozite iz njih z ustreznim podatkovnega tipa, kot je SQL Server podatkovni tip »datumčas2«. SQL Server podprte zbirke podatkov različice 2014 ali novejše. Za razširjeni podatkovni tip »Datum/čas« potrebujete gonilnik Microsoft ODBC za SQL Server 11 ali novejšo različico. Priporočamo, da uporabite gonilnik Microsoft ODBC 13.1 za SQL Server. Podprta je tudi uporaba ole DB. Če želite več informacij, glejte Podpora za vrste podatkov za izboljšave datuma in časa ODBC in Uporaba izboljšanih funkcij datuma in časa (OLE DB).
Forms in poročila Podatkovni tip Razširjeni datum/čas lahko dodate v obrazec ali poročilo. V obrazcu lahko z izbirnikom datuma in vnosno masko vnesete datum z večjim obsegom, ne pa tudi natančnosti ulomka za nanosekunde.
Podpora za izraze Razširjeni podatkovni tip »Datum/čas« podpira združevalne funkcije SQL in vrednotenje izrazov. Če na primer uporabite LoggedDateTime kot polje z vrsto podatkov »Datum/čas razširjeno«:
Opravilo |
Primer |
Rezultat |
---|---|---|
Iskanje najmanjše vrednosti |
Min(LoggedDateTime) |
Najzgodnejši datum in ura v obsegu |
Izvlečenje meseca |
Month(LoggedDateTime) |
Ime meseca, na primer januar |
Dodaj en dan |
[LoggedDateTime]+1 |
torek bi postal sreda |
Pomisleki glede združljivosti s starejšimi različicami
Podatkovni tip Razširjeni datum/čas ni združljiv s starejšimi različicami Microsoft Accessa. Če je ta vrsta uporabljena v lokalni Accessovi tabeli, različice Accessa, ki ne vključujejo funkcije, ne bodo mogli odpreti zbirke podatkov.
Razširjeni podatkovni tip »Datum/čas« lahko omogočite ali onemogočite za postopke povezovanja in uvoza z možnostjo »Trenutni dostop do zbirke podatkov« podpira razširjen podatkovni tip »Datum/čas« za povezane/lmportne tabele. Če želite več informacij, glejte Nastavljanje možnosti uporabnika za trenutno zbirko podatkov.
Uporaba razširjenega podatkovnega tipa »Datum/čas« kot niza v kodi VBA
Ti primeri vba uporabljajo metode DAO za prikaz, vnos in oceno razširjenega podatkovnega tipa »Datum/čas« na podlagi spodnje tabele.
ID |
DTEData |
DTData |
1 |
1.1.2 1:01:03.1234567 |
1/1/2001 |
Ime tabele: Podatkovni tip DTETable
ID: podatkovni tip»Samoštevilo DTEData«: podatkovni tip »Datum/časrazširjenega DTData«: »Datum/čas«Primer: Displaying the date and time
V spodnjem primeru sta prikazana datum in ura. Uporabljena oblika zapisa je mm/dd/llll hh:mm:ss.nnnnnnn v 24-urni obliki. Oblike zapisa ni mogoče prilagoditi.
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
Rezultat Access prikaže: 01/01/0002 01:01:03.1234567.
Primer: Entering the date and time
V tem primeru sta datum in ura vneti z obliko zapisa niza. Podprte so vse standardne oblike zapisa datuma in časa.
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
Rezultat Access doda novo vrstico (ID = 2):
ID |
DTEData |
DTData |
1 |
1.1.2 1:01:03.1234567 |
1/1/2001 |
2 |
1.1.9999 1:01:01.0123000 |
1/1/2001 |
Primer: Ocenjevanje izraza poizvedbe
V tem primeru je funkcija Day uporabljena za izvlečenje številke dneva iz polj z datumom in uro.
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
Rezultat Access prikaže:
Dan v mesecu je: 1
Dan v mesecu je: 1Glejte tudi
Uvod v podatkovne tipe in lastnosti polj