Cassandra DateTime -operatører

Cassandra DateTime -operatører

“Uansett hvilket databaseparadigme du velger, vil du komme over et forekomst der du trenger å jobbe med datoer og datatatatyper. Det er derfor å være kjent med støttede datatyper for databasen din og hvordan du bruker dem.

Denne opplæringen vil dekke det grunnleggende om datatyper i Apache Cassandra, det støttede formatet og hvordan du setter dem inn i et Cassandra -tabell.”

Cassandra dato datatyper

Det er fem hoveddatatyper når du jobber med Cassandra dato og tidsverdier. Disse datatypene inkluderer:

    1. Dato
    2. tid
    3. tidsstempel
    4. varighet
    5. Daterangetype

Datatype

Som navnet antyder, lagrer datatypen en datoverdi. Det er et 32-bits heltall som representerer antall dager som er gått siden epoken.

Datatypensformatet følger formatet som vist:

yyyy-mm-dd


Hvor:

    1. Åååå - representerer de fire sifrene i et år
    2. MM - To sifre som representerer måneden
    3. DD - viser datoen

For eksempel viser følgende utdrag en riktig og feil datatype i Cassandra:

# gyldig
2022-10-10
# ugyldig
10-10-2022

Tidsdatatype

Tidsdatatypen er et 64-bits kodet signert heltall som brukes til å representere antall nanosekunder siden midnatt.

Formatet for en tidsdatatype er som vist:

HH: MM: SS [.fff]


Hvor i:

    1. HH - er de to sifrene som representerer 24 -timers klokken
    2. MM - To tall som viser minuttene
    3. SS - viser antall sekunder
    4. FFF - er opptil tre sifre som representerer antall under sekunder

Følgende viser gyldige tidsdatatyper:

17: 13: 34: 300
17:13:34

Tidsstempel datatype

Tidsstempeldataene brukes til å representere dato og klokkeslett siden epoken. Dette er et kodet 64-bits signert heltall.

yyyy-mm-dd [(t |) hh: mm: ss [.fff]] [(+|-) nnnn]


Verdien av en tidsstempel består av tre hoveddeler:

    1. Dato-Åååå-mm-dd
    2. Tid - HH: MM: SS [.fff]
    3. TIMEZONE - (+| - NNNN)

Dato -delen av tidsstempelet er påkrevd. De to andre er valgfrie.

Følgende eksempel viser gyldige tidsstempelverdier:

2022-10-10 17: 13: 34: 300+0300
2022-10-10 17:13:34.300
2022-10-10 17:13:34
2022-10-10

Varighetsdatatype

Varighetens datatype representerer tidsvarigheten som er kodet som et signert heltall med variabel lengde.

Heltalene er:

    1. Måneder
    2. Dager
    3. Nanosekunder

Daterange type

Denne datatypen brukes til å lagre rekkevidden mellom to datoer. Denne datatypen følger formatet som vist nedenfor:

'[Begynn_date to end_date]'

Eksempel Cassandra dato og tidstyper skjema

Følgende kode viser hvordan du definerer forskjellige datatyper for dato og tid i en Cassandra -tabell.

Lag tabell TIME_TESTING (
id uuid,
dato_type Dato,
DATE_RANGE_TYPE DATO,
Varighet_type Varighet,
TIME_TYPE TID,
TIMESTAMP_TYPE TIMESTAMP,
Primærnøkkel (ID)
);


I eksemplet over definerer vi de forskjellige fem kolonnene, med hver som representerer en bestemt dato eller datatype.

Merk: Hvis du bruker Daterangetypen, må du definere skjematypen som en dato. Du kan deretter sette inn en datoverdi som vist i innsatserklæringen nedenfor:

Sett inn TIME_TESTING (id, date_type, date_range_type, varighet_type, time_type, timestamp_type)
Verdier (8369AE12-A0A9-491E-BDD4-2B4EBED5D705, '2022-10-10', '2022-10-10', 24H10M38S, '05: 13: 34 ', 2022-10-10 17:13:34.300+0300 ');


Spørringen over skal sette inn de forskjellige datatypene i den spesifiserte tabellen. De resulterende postene er som vist:

Velg * fra TIME_TESTING;


Spørringen ovenfor skal returnere tabellen med alle tidsposter.

Avslutning

Dette innlegget dekket de forskjellige datatypene for dato og tid som er gitt i Apache Cassandra. Det er godt å huske på at forskjellige tilpasninger av Cassandra kan variere i de støttede typene. Sjekk dokumentasjonen for Cassandra -versjonen din for å lære mer.

Glad koding!!