Как получить текущую метку времени с CQL при использовании командной строки?

Я пытаюсь вставить в мою таблицу CQL из командной строки. Я могу вставить все. Но мне интересно, если у меня есть столбец типа timestamp, то как я могу вставить в столбец timestamp с помощью командной строки? В принципе, я хочу, чтобы вставить текущую метку времени, когда я вставить в мой стол CQL -

В настоящее время я прописать метку всякий раз, когда я вставить в мой ниже таблице CQL -

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);

Есть ли способ, чтобы получить текущую метку времени, используя некоторые предопределенные функции в CQL, так что при вставке в таблицу выше, я могу использовать этот метод, чтобы получить текущую метку времени, а затем вставить в вышеприведенной таблице?

Решение

Вы можете использовать функции timeuuid, теперь() и дату() (или в более поздних версиях Кассандра, toTimestamp()), например,

INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
                  VALUES ('2', 'elephant',  'SOME_VALUE', dateof(now()));

"Сейчас" функция не принимает никаких аргументов и создает новую уникальную timeuuid (в том времени, когда заявление, используя его исполнения). Функция дату принимает аргумент timeuuid и извлекает внедренные метки. (Взято из документации CQL на функции timeuuid).

Кассандра >= 2.2.0-RC2 в

дату () был устаревшим в Кассандра 2.2.0-RC2 в. Для более поздних версий, вы должны заменить его использовать с toTimestamp(), как показано ниже:

INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
                  VALUES ('2', 'elephant',  'SOME_VALUE', toTimestamp(now()));
Комментарии (4)

В новой версии Кассандра можно использовать toTimestamp(сейчас()), и обратите внимание на дату, что функция является устаревший.

е.г

insert into dummy(id, name, size, create_date) values (1, 'Eric', 12, toTimestamp(now()));
Комментарии (3)