Как получить день и месяц с двумя цифрами в потоке данных ADF?

#datetime #azure-data-factory #dataflow #azure-data-factory-pipeline

Вопрос:

Я пытаюсь назвать свой tsv-файл как «{тест}{год}{месяц}{день}» в потоке данных ADF. Вот такое выражение: «test {year(toDate($windowStartTime))} {month(toDate($windowStartTime))}{dayOfMonth(toDate($windowStartTime))}.tsv»

При установке параметра windowStartTime в «2021 01 01», затем это стало «тестом 2021 1 1.цв».Как я могу преобразовать его в «тест 2021 01 01.tsv» что месяц(01) и день(01) имеют две цифры? Спасибо!!!

Ответ №1:

Оберните функции year() и month() внутри строки toString() с помощью форматера, чтобы добавить 0. Вот пример:

Строка(месяц(дата(‘2021/01/01′,’гггг/ММ/дд’)),’00’)

Комментарии:

1. Это работает на меня!! Большое спасибо!!!

Ответ №2:

Преобразуйте свой параметр/переменную в формат «гггг-ММ-дд» и замените » — «на» «.

Используйте функцию concat (), чтобы добавить все строковые значения, как показано ниже.

@concat('test',' ',replace(formatDateTime(variables('starttime'),'yyyy-MM-dd'),'-',' '),'.tsv')

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Понял! Спасибо!!!