Come: |
Questa funzione si applica solo agli adattatori Sybase e Server Microsoft SQL.
Sybase e Server Microsoft SQL presentano un tipo di dati chiamato TIMESTAMP. Piuttosto che contenere l'indicatore data/ora effettivo, le colonne con questo tipo di dati contengono un numero incrementato per ciascun record inserito o aggiornato nell'origine dati. Questa indicatore data/ora deriva da un'area comune, quindi nessuna tabella nel database ha lo stesso valore di colonna indicatore data/ora. Il valore viene memorizzato in formato Binary(8) o Varbinary(8) nella tabella, ma viene restituito come colonna alfanumerica estesa doppia (A16). È possibilie usare la funzione TSTOPACK per convertire il valore indicatore data/ora in decimale compresso.
TSTOPACK(tscol, output);
dove:
A16
La colonna indicatore data/ora da convertire.
P21
Nome del campo che contiene il risultato o il formato del valore di emissione racchiuso tra virgolette singole (‘).
Il seguente comando CREATE TABLE crea un nome di tabella server SQL TSTEST che contiene una colonna contatore intero chiamato I e una colonna indicatore data/ora chiamata TS:
SQL SQLMSS CREATE TABLE TSTEST (I INT, TS timestamp) ; END
Il file principale per l'origine dati TSTEST segue. Il campo TS rappresenta la colonna TIMESTAMP:
FILENAME=TSTEST, SUFFIX=SQLMSS , $ SEGMENT=TSTEST, SEGTYPE=S0, $ FIELDNAME=I, ALIAS=I, USAGE=I11, ACTUAL=I4, MISSING=ON, $ FIELDNAME=TS, ALIAS=TS, USAGE=A16, ACTUAL=A16, FIELDTYPE=R, $
Nota: Quando si genera un sinonimo per una tabella con una colonna TIMESTAMP, la colonna TIMESTAMP viene creata come solo lettura (FIELDTYPE=R).
TSTOPACK converte la colonna indicatore data/ora TS in decimale compresso:
DEFINE FILE TSTEST TSNUM/P21=TSTOPACK(TS,'P21'); END TABLE FILE TEST64 PRINT I TS TSNUM END
L'emissione è:
WebFOCUS |