Имеет ли урю что-то эквивалентное DUAL?
Я хотел бы запускать выражения типа
SELECT date_add('2008-12-31', 1) FROM DUAL
Есть ли у ура (работает на Amazon EMR) что-то подобное?
Ответы
Ответ 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);