ďťż
 
mssql: typ timestamp? ďťż
 
mssql: typ timestamp?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nawschodzie.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com