2016-11-23 2 views
1

Как извлечь дату из datetime в U-SQL, так как для него нет встроенной функции, например SQL. Здесь Вы можете найти свой кодИзвлечение даты из DateTime в U-SQL

CREATE VIEW IF NOT EXISTS dbo.Parameter AS 
EXTRACT Name string, 
     RollNo int, 
     createdOn DateTime, 

FROM "/ParameterMaster.csv" 
    USING Extractors.Csv(quoting : true, nullEscape : "/N");  

@ABC = 
    SELECT (createdOn).ToString("MM-dd-yyyy") AS Date 
    FROM Parameter; 

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

Заранее спасибо

+0

Ваш код выглядит нормально, он работает для вас? В U-SQL нет типа данных date date, поэтому то, что вы делаете, должно быть прекрасным. Дополнительную информацию см. В [Руководстве по программированию U-SQL] (https://docs.microsoft.com/en-us/azure/data-lake-analytics/data-lake-analytics-u-sql-programmability-guide). – wBob

+0

Я хочу взять месяц/год из значения DateTime из столбца. Я использую это значение в том случае, когда условие – Arron

ответ

2

Обратите внимание, что типы U-SQL являются .Net/C# типы данных, которые дают вам все методы, доступные для них в .Net (см https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx).

Таким образом, вы можете извлечь дату от даты-времени с:

@ABC = 
    SELECT createdOn.Date AS Date 
    FROM Parameter; 

Как и в сторону: Почему вы указать вид? Если вы не хотите регистрировать представление для последующего повторного использования в других сценариях, вы можете просто присвоить EXTRACT-выражению имя. Например,

@input = EXTRACT .... 
Смежные вопросы