Du kan definiera kolumner i DB2 -databas tabellerna i antingen " datum "," tid " eller "timestamp " format för att lagra tiden relevant information. Tidsstämpel värden innehålla ett datum följt av tid , definierat till sex-läge mikrosekund precision . En tidsstämpel är användbart när det är viktigt att veta exakt när en händelse inträffar eller att sortera data i avvisning . Många program använder tidsstämplar att spela in och uppdatera gånger för revision
Använd Working Storage
1 . .
Definiera ett fält som bara innehåller 10 byte . I detta exempel används COBOL syntax i arbetsför lagerutrymme . I "01 " är den nivå indikatorn . " WS-DATE " fältnamnet . " PIC " visar att bilden klausul med "X (10 ) " anger att fältet är 10 byte sträng .
01 WS-DATE PIC X (10 ) .
2 .
Välj en tidsstämpel kolumn från en DB2- tabell med en Structured Query Language (SQL ) uttalande . Skriv följande SQL-sats i programmet :
SELECT TIMESTAMP_VALUE FRÅN TEST_TABLE
3 .
Flytta " timestamp_value " till kortare arbetstid lagring fältet för att trunkera all information efter .
FLYTTA TIMESTAMP -värde för att WS-DATE.
Om tidsstämpel innehåller " 2010-01-01-10. 30. 02. 123456 , " WS-DATE lika " 2010-01-01. " Använd WS -date i " infoga " eller " uppdatera " uttalanden , liksom i " där " klausuler .
Konvertera tidsstämpel till ett datum inom ett SQL-uttryck
1 .
Konvertera Tidstämpelformat till "dagen " format med hjälp av " datum " -funktionen i " välj " uttalande .
Välj Datum ( PÅGÅENDE TIMESTAMP ) FRÅN SYSIBM. SYSDUMMY1
Detta uttalande returnerar datumet del av nuvarande systemet tidsstämpel . Den sysdummy1 Tabellen är en speciell i minnet tabell som IBM för systemet fungerar som inte kräver en användardefinierad bord . Suppleant en användardefinierad bord och kolumnnamn för att hämta lagrad data .
Om det nuvarande systemet timestamp är " 2010-01-01-10. 30. 02. 123456 "blir resultatet av SQL-uttrycket är " 2010/01/01 "
2 .
Använd " rösterna " SQL -funktion för att konvertera en tidsstämpel till ett datum i " välj " SQL-uttryck . Den " kastade " uttalande formaterar ett värde baserat på parametrar inom parentes . I detta exempel är värdet "aktuella timestamp "och det är formateras med hjälp av "datum " -format .
SELECT CAST ( AKTUELL TIMESTAMP som datum ) FROM SYSIBM. SYSDUMMY1
Om det nuvarande systemet timestamp är " 2010-01-01-10. 30. 02. 123456 , " resultatet av SQL-uttrycket är " 2010-01-01. "
3 .
Kontrollera att " kasta " och " datum " returnerar samma resultat genom att använda dem både inom ett SQL-kommando.
Välj Datum ( AKTUELL TIMESTAMP ) ,
CAST ( AKTUELL TIMESTAMP som datum )
FRÅN SYSIBM. SYSDUMMY1
tips och varningar
DB2 returnerar ett fel om SQL-satsen försök att konvertera ett värde i ett ogiltigt format till en "date ", " tid " eller "timestamp " -format .