Подтвердить что ты не робот

Имеет ли урю что-то эквивалентное DUAL?

Я хотел бы запускать выражения типа

SELECT date_add('2008-12-31', 1) FROM DUAL

Есть ли у ура (работает на Amazon EMR) что-то подобное?

4b9b3361

Ответ 2

Лучшее решение не означает имя таблицы.

select 1+1;

Дает результат 2. Но плохой Улей нужно вскрыть карту, чтобы найти это!

Ответ 3

Есть хорошее рабочее решение (хорошо, обходной путь), доступное по ссылке, но оно медленное, как вы можете себе представить.

Идея состоит в том, чтобы создать таблицу с фиктивным полем, создать текстовый файл с содержимым "X", загрузить этот текст в эту таблицу. Виола.

CREATE TABLE dual (dummy STRING);

load data local inpath '/path/to/textfile/dual.txt' overwrite into table dual;

SELECT date_add('2008-12-31', 1) from dual;

Ответ 4

Чтобы создать двойную таблицу в улье, где есть один столбец и одна строка, вы можете сделать следующее:

create table dual (x int);
insert into table dual select count(*)+1 as x from dual;

Проверьте выражение:

select split('3,2,1','\\,') as my_new_array from dual;

Вывод:

["3","2","1"]

Ответ 5

Быстрое решение:

Мы можем использовать существующую таблицу для достижения двойной функциональности, выполнив следующий запрос.

SELECT date_add('2008-12-31', 1) FROM <Any Existing Table> LIMIT 1

Например:

SELECT CONCAT('kbdjj','56454') AS a, null AS b FROM tbl_name LIMIT 1

Результат

"limit 1" в запросе используется для предотвращения множественных вхождений заданных значений (kbdjj56454, null).

Ответ 6

Hive теперь поддерживает эту функцию, а также поддерживает многие другие функции дат.

Вы можете запустить запрос, как показано ниже, в кусте, который добавит число дней, указанное в первом аргументе.

SELECT DATE_ADD('2019-03-01', 5);

Функции даты улья