Usuario anónimo
¿Cómo obtener la hora actual con CQL utilizando la línea de comandos?
Estoy tratando de insertar en mi tabla CQL desde la línea de comandos. Soy capaz de insertar todo. Pero me pregunto si tengo una columna de fecha y hora, entonces ¿cómo puedo insertar en la columna de fecha y hora desde la línea de comandos? Básicamente, quiero insertar timestamp actual cada vez que estoy insertando en mi tabla CQL -
Actualmente, estoy hardcoding la fecha y hora cada vez que estoy insertando en mi tabla CQL a continuación -
CREATE TABLE TEST (ID TEXT, NAME TEXT, VALUE TEXT, LAST_MODIFIED_DATE TIMESTAMP, PRIMARY KEY (ID));
INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE) VALUES ('1', 'elephant', 'SOME_VALUE', 1382655211694);
¿Hay alguna manera de obtener la marca de tiempo actual utilizando algunas funciones predefinidas en CQL para que al insertar en la tabla anterior, puedo utilizar ese método para obtener la marca de tiempo actual y luego insertar en la tabla anterior?
53
2
Puede utilizar las funciones timeuuid
now()
ydateof()
(o en versiones posteriores de Cassandra,toTimestamp()
), por ejemplo,La función
now
no toma argumentos y genera un nuevo timeuuid único (en el momento en que se ejecuta la sentencia que la utiliza). La funcióndateOf
toma un argumento timeuuid y extrae la marca de tiempo incrustada. (Tomado de la documentación CQL sobre timeuuid functions).Cassandra >= 2.2.0-rc2
dateof()
quedó obsoleto en Cassandra 2.2.0-rc2. Para versiones posteriores se debe reemplazar su uso portoTimestamp()
, como se indica a continuación:En la nueva versión de
cassandra
podría usartoTimestamp(now())
, y tenga en cuenta que la funcióndateof
está deprecated.Por ejemplo