Come leggere i campi TimeStamp e vedere il contenuto

Anonimo
2012-10-08T13:42:47+00:00

ho creato una tabella in sql server

con un campo LastUpadte di tipo TimeStamp

select cognome, nome, dnascita, LastUpdate from dbo.a_TryTimeStamp

come posso vedere il valore contenuto?

ho collegato via odbc la tabella ad Access

ho provato a scrivere

select cognome, nome, dnascita, LastUpdate, Format(([LastUpdate]+2209161600)/86400,"dd/mm/yy hh:nn:ss") as ccTimeStamp

from dbo.a_TryTimeStamp,

ma nulla da fare #errore

oppure ho crato mettendo in un modulo

Public Function timestamp(data)

  timestamp = DateDiff("s", "01/01/1970 00:00:00", data)

End Function

e quindi

select cognome, nome, dnascita, LastUpdate, timestamp(LastUpdate) as ccTimeStamp2

from dbo.a_TryTimeStamp,

ma mi da' errore in debug data non valida

come fare?

Grazie

PFMarro

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-10-08T16:12:46+00:00

No non puoi dal timestamp risalire a quando è stato modificato, l'unica cosa che ti consente di sapere è se è stato modificato, supponiamo che tu leggi un record nel campo TS avrsi un valore, quando vai a riscrivere su quel record, puoi controllare che nel frattempo nessuno l'abbia modificato andando  a confrontare il valore  letto in precedenza con quello attualmente presente.

Se invece vuoi sapere quando un record è stao modificato devi mettere  un campo di tipo DAteTime e  aggiornarlo magari con un trigger al valore GetDate() ogni volta che aggiorni il record.

Se hai voglia dai un'occhiata a questa discussione http://www.tek-tips.com/viewthread.cfm?qid=896815   dove puoi vedere anche come fare a leggere il valore.

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-10-08T14:59:42+00:00

    concordo su cosa hai detto

    ma allora a cosa serve se non riesco a leggere da MsAccess il valore?

    se e' un valore di 8 byte

    a cosa corrisponde?

    posso risalire a quando il record e' stato modificato?

    Grazie

    PFMarro

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-10-08T14:36:18+00:00

    Ciao pfmarro,

    quello che dici è valido per MYSQL http://dev.mysql.com/doc/refman/5.0/en/datetime.html  e forse anche per altri database server,  ma tu hai detto che stai usando SQL server e in SQL server vale quanto descritto nel link che ti ho indicato nel post precedente.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-10-08T14:15:22+00:00

    grazie del messaggio

    TimeStamp non indica

    la misurazione del tempo tramite il conteggio del numero di secondi a partire da una particolare data.

    Tale data, conosciuta come UNIX epoch, è stata fissata essere:

    le ore 00:00:00 del 1 gennaio 1970 UTC

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-10-08T13:58:18+00:00

    Ciao PFMarro,

    in SQL server il tipo di dati TimeStamp/RowVersion non rapppresenta una data e ora ma semplicemente un numero come specificato qui http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx

    per cui non puoi tentare di convertirlo in una data, se ti serve una data/ora devi usare il tipo di dato DateTime.

    La risposta è stata utile?

    0 commenti Nessun commento