Извлечение файлов из одного дня - U SQL - PullRequest
0 голосов
/ 04 июня 2018

У меня проблемы со сценарием U SQL.Я пытаюсь получить файлы, которые были созданы в текущий день из каталога.имя файла будет иметь дату в формате yyyyMMdd.Но когда я пытаюсь извлечь данные, а не брать файлы за один день, я получаю все файлы в каталоге.Я использую приведенный ниже скрипт.

DECLARE @file_set_path string ="/XXXX/Sample_{date:yyyy}{date:MM}{date:dd}{*}.csv";

@searchlog =
EXTRACT PART_NUMBER string, date DateTime FROM @file_set_path USING Extractors.Tsv(skipFirstNRows:1);

Может кто-нибудь, пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете использовать свойство Date объекта DateTime для сравнения дат без включения компонента времени, что-то вроде этого:

DECLARE @file_set_path string ="/Sample_{date:yyyy}{date:MM}{date:dd}{*}.csv";
DECLARE @now DateTime = DateTime.Now;


@searchlog =
    EXTRACT PART_NUMBER string,
            date DateTime
    FROM @file_set_path
    USING Extractors.Csv(skipFirstNRows : 1);


@output =
    SELECT *,
           @now AS now,
           date.Date AS x,
           @now.Date AS y

    FROM @searchlog
    WHERE date.Date == @now.Date;


OUTPUT @output
TO "/output/output.csv"
USING Outputters.Csv();

NB Я заметил, что вы используете экстрактор Tsv с Csvфайлы.Может неважно, когда есть только один столбец или, возможно, это опечатка?

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