#sql #oracle
#sql #Oracle
Вопрос:
Я работаю с SQL-запросом Oracle для получения некоторых данных из нашего озера данных в наш инструмент бизнес-аналитики. Теперь я хотел бы добавить дату запуска модели (дата-время) / системную дату, чтобы получать для каждого обновления последнюю дату. Но как? Вы бы добавили столбец с датой в каждую строку? Или только одно значение / строка для всего столбца? Это также сработало бы для меня.
Если да, то как? Текущий sql-запрос имеет вид
"SELECT * FROM DBA.MasterData WHERE Article LIKE '%IKL%'
Комментарии:
1. Вы имеете в виду, как
CURRENT_DATE
? Как вSelect col1, col2, ..., colN, CURRENT_DATE FROM DBA.MasterData
Ответ №1:
Если вы просто хотите добавить столбец с текущей датой в запрос
SELECT md.*, sysdate run_date
FROM DBA.MasterData md
WHERE md.Article LIKE '%IKL%'
Большинство инструментов BI будут иметь возможность запускать несколько запросов для заполнения одной страницы вашей информационной панели, чтобы вы могли получить одну run_date
страницу, а не добавлять кучу дублирующих данных к вашему запросу
SELECT sysdate run_date
FROM dual
Но большинство инструментов BI будут иметь более простой, специфичный для конкретного инструмента способ добавления даты выполнения запроса на страницу, поскольку это довольно распространенный запрос.
Вы уверены, что хотите использовать текущую системную дату? Лично я всегда считаю более полезным использовать дату, заполненную вашим процессом ETL, чтобы пользователи знали, какие временные рамки фактически представляют данные. Когда возникают проблемы с ночной загрузкой или какой-либо компонент, на который опирается панель мониторинга, который обычно работает в режиме реального времени, отстает на несколько часов, это намного полезнее, чем то, что просто слепо заполняет сегодняшнюю дату.
Комментарии:
1. Большое спасибо за вашу помощь! Поскольку каждая таблица в нашем инструменте BI имеет определенный горизонт обновления, я хотел бы получить для каждой таблицы дату запуска модели 🙂