Azure流分析 - 分割日期和时间

时间:2016-04-02 22:46:28

标签: azure-stream-analytics

我正在尝试拆分ASA查询的日期和时间组件,但遇到了一些困难。我确实尝试使用concat,datepart和dateadd函数来实现这一点,但它出现了Query编译失败错误。关于我做错了什么或者其他更好的方法来实现这个想法?

ConCat(DatePart(hh,DateAdd(Hour,11,System.Timestamp)),':',DatePart(mm,DateAdd(Hour,11,System.Timestamp)))as Time,

由于

2 个答案:

答案 0 :(得分:2)

Concat函数将字符串作为输入,您必须将datepart()的输出强制转换为字符串。下面应该有用。

select 

concat(
    cast( datepart(yy,System.Timestamp) as nvarchar(max)),
    '-',
    cast( datepart(mm,System.Timestamp) as nvarchar(max)),
    '-',
    cast( datepart(dd,System.Timestamp) as nvarchar(max))) [Date],

concat(
    cast( datepart(hh,System.Timestamp) as nvarchar(max)),
    ':',
    cast( datepart(ss,System.Timestamp) as nvarchar(max))) [Time]

into outputStore from inputSource

答案 1 :(得分:1)

您有两种可能的解决方案:

1。使用类似T-SQL的语法

DATEADD(dd, DATEDIFF(dd, '0001-01-01 00:00:00', [TimeStamp]), '0001-01-01 00:00:00')

2。在DateTime构建器中使用build

DATETIMEFROMPARTS(DATEPART(year,[TimeStamp]),DATEPART(month,[TimeStamp]),DATEPART(day,[TimeStamp]),00,00,00,00)