mssql: typ timestamp?
Sexbox - 13-03-2006 11:24
mssql: typ timestamp?
Mam bazę danych z kolumną typu timestamp z tego co wyczytałem jest to typ podobny do varbinary(8) a wartość jest modyfikowana przy każdej operacji INSERT/UPDATE
Ale moje tytanie brzmi czy da się dane z tej kolumny przekonwertować do formatu _czasu_, modyfikacji rekordu? Bo właśnie taki czas potrzebuję uzyskać z dokładnością jedynie do 1 dnia.
Jeśli nie jest to możliwe, to w takim razie w jakim celu jest taki typ?
Robert Winkler - 13-03-2006 11:24
> Ale moje tytanie brzmi czy da się dane z tej kolumny przekonwertować > do formatu _czasu_, modyfikacji rekordu? > Bo właśnie taki czas potrzebuję uzyskać z dokładnością jedynie do 1 dnia.
Nie ma takiej możliwości. Ale za to możesz dodać do tabeli kolumne typy datetime lub smalldatetime i przy każdej modyfikacji wiersza w trigerze wpisywać tam wynik funkcji getdate()
> Jeśli nie jest to możliwe, to w takim razie w jakim celu jest taki typ?
- transfery (przyrostowy import danych z bazy online do lokalnego bufora) - detekcja konflików w czasie modyfikacji tego samego wiersza z kilku stacji - detekcja zmienionych rekordów (np. stany magazynowe)
-- ____________ Robert Winkler
Sexbox - 13-03-2006 11:24
>> Ale moje tytanie brzmi czy da się dane z tej kolumny przekonwertować >> do formatu _czasu_, modyfikacji rekordu? >> Bo właśnie taki czas potrzebuję uzyskać z dokładnością jedynie do 1 dnia. > > Nie ma takiej możliwości. > Ale za to możesz dodać do tabeli kolumne typy datetime lub smalldatetime > i przy każdej modyfikacji wiersza w trigerze wpisywać tam wynik funkcji > getdate() > >> Jeśli nie jest to możliwe, to w takim razie w jakim celu jest taki typ? > > - transfery (przyrostowy import danych z bazy online do lokalnego bufora) > - detekcja konflików w czasie modyfikacji tego samego wiersza z kilku > stacji > - detekcja zmienionych rekordów (np. stany magazynowe)
Dzięki!
=?ISO-8859-2?Q?Rafa=B3?= Posmyk - 13-03-2006 11:24
Sexbox on Dienstag, 7. März 2006 18:16 wrote:
> z tego co wyczytałem jest to typ podobny do varbinary(8) > a wartość jest modyfikowana przy każdej operacji INSERT/UPDATE > > Ale moje tytanie brzmi czy da się dane z tej kolumny przekonwertować > do formatu _czasu_, modyfikacji rekordu? > Bo właśnie taki czas potrzebuję uzyskać z dokładnością jedynie do 1 dnia.
TIMESTAMP to wlasnie jest czas ostaniej modyfikacji rekordu. TIMESTAMP jest wlasciwie identyczny z DATETIME, zatem dane tego typu mozna interpretowac jako "datoczas". Jesli podlinkujesz z mysql tabele z kolumna typu TIMESTAMP, access powinien mapowac jej dane do kulumny typu data/czas.
Ciao, Smyk -- Fju, fju - powiedział Ćwirek
Robert Winkler - 13-03-2006 11:24
Pytanie było nie o mysql tylko o mssql jedna litera a jaka róznica. -- ____________ Robert Winkler
Krzysztof Naworyta - 13-03-2006 11:24
Juzer Rafał Posmyk <duzy.trzmiel@op.pl> napisał
|| Ale moje tytanie brzmi czy da się dane z tej kolumny przekonwertować || do formatu _czasu_, modyfikacji rekordu? || Bo właśnie taki czas potrzebuję uzyskać z dokładnością jedynie do 1 || dnia. | | TIMESTAMP to wlasnie jest czas ostaniej modyfikacji rekordu.
Dupa! To zależy pewnie od servera, ale w przypadku MSSQL owa "pieczątka" nijak się ma do czasu ostatniej aktualizacji ... Bardziej przypomina raczej "sumę kontrolną" czy rnd() niż czas, choc w jego formacie jest zapisywana ...
| TIMESTAMP jest wlasciwie identyczny z DATETIME
tylko ze względu na typ danych .... (int+int, czy jak kto woli: double/float)
| zatem dane | tego typu mozna interpretowac jako "datoczas". Jesli podlinkujesz | z mysql tabele z kolumna typu TIMESTAMP, access powinien | mapowac jej dane do kulumny typu data/czas.
owszem, ale nijak ma się to do rzeczywistego czasu ostatniej aktualizacji ....
-- KN (MVP, M$ Office Access)
archiwum grupy: http://groups.google.pl/advanced_group_search (grupa: pl*msaccess)
Sexbox - 13-03-2006 11:24
> Dupa! To zależy pewnie od servera, ale w przypadku MSSQL owa "pieczątka" > nijak się ma do czasu ostatniej aktualizacji ... > Bardziej przypomina raczej "sumę kontrolną" czy rnd() niż czas, choc w > jego formacie jest zapisywana ... > > tylko ze względu na typ danych .... > (int+int, czy jak kto woli: double/float) > > owszem, ale nijak ma się to do rzeczywistego czasu ostatniej aktualizacji
Trochę się tym typem "pobawiłem", więc opiszę swoje spostrzeżenia może komuś się przydadzą. Na wstępie podam że chodzi dokładnie o produkt: MS SQL Serwer.2005 Express + Managment Studio Express
wartości mają postać, np.:: 0x000000000002C514 czyli to raczej varbinary(16) a nie jak podaje BooksOnline varbinary(8). Niezależnie w jakich odstępach czasu modyfikowałem rekordy wartość tego parametru rosła dokładnie o 1 w stosunku do najwyższej wartości w tabeli. Czy li np. było: ID|timestamp|... 1|000000043| 2|000000041| <- po zmodyfikowaniu tego 3|000000042| było: ID|timestamp|... 1|000000043| 2|000000044| 3|000000042| Nie testowałem zmian przy modyfikacji wielu tabel, ale to pozostawiłem bardziej dociekliwym ;)
Grzegorz Danowski - 13-03-2006 11:24
Użytkownik "Sexbox" <sex.box@NOSPAM.wp.pl> napisał w wiadomości news:dulds8$5da$1@atlantis.news.tpi.pl... (...) > Na wstępie podam że chodzi dokładnie o produkt: > MS SQL Serwer.2005 Express + Managment Studio Express > > wartości mają postać, np.:: 0x000000000002C514 czyli to raczej > varbinary(16) a nie jak podaje BooksOnline varbinary(8).
Hmm, a jak wywnioskowałeś, że varbinary(16)? Czy dlatego, że reprezentacja hex ma 16 znaków? :-) G.
Robert Winkler - 13-03-2006 11:24
> wartości mają postać, np.:: 0x000000000002C514 czyli to raczej > varbinary(16) a nie jak podaje BooksOnline varbinary(8).
Skoro w zapisie HEX jednemu bajtowi odpowiadają dwa znaki alfanumeryczne to ciąg rozpoczynający się od 0x i zawierający 16 znaków alfanumerycznych może być składowany w 8 bajtach, stad właśnie varbinary(8)
> Nie testowałem zmian przy modyfikacji wielu tabel, ale to pozostawiłem > bardziej dociekliwym ;)
Licznik timestamp jest unikalny w ramach całej bazy (wszystkich jej tabel) Aktualną jego wartość można pobrać za pomocą funkcji @@DBTS, np.: SELECT @@DBTS -- ____________ Robert Winkler
=?ISO-8859-2?Q?Rafa=B3?= Posmyk - 13-03-2006 11:25
Robert Winkler on Dienstag, 7. März 2006 21:00 wrote:
> Pytanie było nie o mysql tylko o mssql > jedna litera a jaka róznica.
Ups, dzieki za zwrocenie uwagi :|
Ciao, Smyk
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?=
MSSQL Express czy Oracle Express
MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
[MSSQL 2000] =?ISO-8859-2?Q?wywo=B3anie_procesu_z_poziomu_?==?ISO-8859-2?Q?job=27a?=
[MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?=
Pobierananie danych z innej bazy danych w MSSQL
Migracja MSSQL 2005 CTP na 2005 Express
zanotowane.pldoc.pisz.plpdf.pisz.plnawschodzie.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|