2015-03-26 16 views
9

In SQL wählen, ich bin der Lage zu tun:Erhalten Sie aktuelle Datum in cassandra cql

select getdate(), getdate() - 7 

Welche das aktuelle Datum sowie aktuelle Datum zurückgibt - 7 Tage. Das möchte ich auch in Cassandra CQL erreichen. Ich habe versucht:

select dateof(now()) 

Aber das funktioniert nicht. Es funktioniert nur beim Einfügen und nicht beim Auswählen. Wie kann ich das gleiche bekommen? Jede Hilfe wäre willkommen.

Antwort

18
select dateof(now()) 

Auf sich selbst, Sie sind richtig, das funktioniert nicht. Aber wenn Sie eine Tabelle, die Sie nur eine Zeile hat wissen (wie system.local):

[email protected]:stackoverflow> SELECT dateof(now()) FROM system.local ; 

dateof(now()) 
-------------------------- 
2015-03-26 03:18:39-0500 

(1 rows) 

Leider Cassandra CQL nicht (? Noch CASSANDRA-5505) gehört die Unterstützung für arithmetische Operationen, geschweige denn Datumsberechnungen. Das Subtrahieren von 7 Tagen von diesem Wert ist also etwas, was Sie in Ihrer Anwendungsebene tun müssten.

+1

Vielen Dank, das hat funktioniert. Ich habe die Subtraktion auf meiner Anwendungsebene gemacht. – Hitesh

+1

@Aaron Huh. Anscheinend gibt es eine direkte Abzocke (http://www.developersite.org/101-191317-cassandra) von StackOverflow (vermutlich nur zu dem Zweck, Anzeigen zu schalten). Das oder zwei andere Leute hatten zufällig einen vollkommen identischen Q/A-Austausch. Die Dinge, die du lernst. – arbitrarystringofletters

+0

@Aaron Eine andere Anmerkung, es ist zwei Jahre her. Weißt du, ob diese Funktion zu Cassandra hinzugefügt wurde? – arbitrarystringofletters

Verwandte Themen