Hvordan kan jeg konvertere den datostemple dato i DB2 du?

Hvordan kan jeg konvertere den datostemple dato i DB2 du?


Du kan definere kolonner i DB2 databasetabellene i enten "date", "tid" eller "tidsstempel" formater å lagre tids relevant informasjon. Systemtidverdier inkluderer en dato etterfulgt av den tiden, definert seks-posisjon mikrosekund presisjon. Et tidsstempel er nyttig når det er avgjørende å vite nøyaktig når en hendelse inntreffer eller for å sortere data i påmeldingsrekkefølgen. Mange programmer bruker tidsstempler til å registrere inn- og oppdatere tider for revisjonsformål.

Bruksanvisning

Bruk Working Storage

1 Definerer et felt som bare inneholder 10 bytes. Dette eksemplet bruker COBOL syntaks i arbeidslagringsområdet. Den "01" er nivåindikatoren. "WS-DATE" er feltnavnet. "PIC" indikerer bilde leddet med "X (10)" som indikerer at feltet er et 10 byte streng.

01 WS-DATO PIC X (10).

2 Velg et tidsstempel kolonne fra en DB2-tabell ved hjelp av en strukturert spørrespråk (SQL) uttalelse. Skriv inn følgende SQL-setning i programmet:

SELECT TIMESTAMP_VALUE Fra TEST_TABLE

3 Flytt "timestamp_value" til kortere arbeids lagring feltet for å avkorte all informasjon etter datoen.

MOVE TIMESTAMP-verdi til WS-DATE.

Hvis tidsstempelet inneholder "2010-01-01-10.30.02.123456," WS-DATE lik "2010-01-01". Bruk WS-date "insert" eller "oppdatere" uttalelser, samt i "hvor" klausuler.

Konverter Stempel til en dato innen en SQL-setning

4 Konverter tidsstempel format til "date" format ved hjelp av "date" -funksjonen i "velg" statement.

VELG DATO (CURRENT TIMESTAMP) FRA SYSIBM.SYSDUMMY1

Denne setningen returnerer datoen del av dagens system tidsstempel. Den sysdummy1 tabell er en spesiell bord i minnet levert av IBM for systemfunksjoner som ikke krever en brukerdefinert tabell. Erstatte en brukerdefinert tabell og kolonnenavnet for å hente lagrede data.

Hvis dagens system timestamp er "2010-01-01-10.30.02.123456," resultatet av SQL-setningen er "2010-01-01"

5 Bruk "kastet" SQL funksjon for å konvertere et tidsstempel til en dato i "velg" SQL-setning. Den "kaste" statement formaterer en verdi basert på parametre innenfor parentesen. I dette eksemplet er verdien "gjeldende tidsstempel", og det er formatert ved hjelp av "date" format.

VELG CAST (CURRENT TIMESTAMP AS DATE) Fra SYSIBM.SYSDUMMY1

Hvis dagens system timestamp er "2010-01-01-10.30.02.123456," resultatet av SQL-setningen er "2010-01-01".

6 Kontroller at "cast" og "dato" funksjoner returnerer samme resultat ved å bruke dem både i en SQL-kommando.

VELG DATO (CURRENT TIMESTAMP),

CAST (CURRENT TIMESTAMP AS DATE)

Fra SYSIBM.SYSDUMMY1

Hint

  • DB2 returnerer en feil hvis SQL-setningen forsøker å konvertere en verdi i et ugyldig format til en "date", "tid" eller "tidsstempel" format.