Azure 流分析 - 拆分日期和时间
Azure Stream Analytics - Split date and time
我正在尝试拆分 ASA 查询的日期和时间组件,但遇到了一些困难。我确实尝试使用 concat、datepart 和 dateadd 函数来实现此目的,但它出现了查询编译失败错误。关于我做错了什么或实现此目标的其他更好方法有什么想法吗?
ConCat(DatePart(hh,DateAdd(Hour,11,System.Timestamp)),':',DatePart(mm,DateAdd(Hour,11,System.Timestamp))) 作为时间,
谢谢
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。使用 T-SQL 类似语法
DATEADD(dd, DATEDIFF(dd, '0001-01-01 00:00:00', [TimeStamp]), '0001-01-01 00:00:00')
2。在 DateTime 构建器中使用构建
DATETIMEFROMPARTS(DATEPART(year,[TimeStamp]),DATEPART(month,[TimeStamp]),DATEPART(day,[TimeStamp]),00,00,00,00)
我正在尝试拆分 ASA 查询的日期和时间组件,但遇到了一些困难。我确实尝试使用 concat、datepart 和 dateadd 函数来实现此目的,但它出现了查询编译失败错误。关于我做错了什么或实现此目标的其他更好方法有什么想法吗?
ConCat(DatePart(hh,DateAdd(Hour,11,System.Timestamp)),':',DatePart(mm,DateAdd(Hour,11,System.Timestamp))) 作为时间,
谢谢
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。使用 T-SQL 类似语法
DATEADD(dd, DATEDIFF(dd, '0001-01-01 00:00:00', [TimeStamp]), '0001-01-01 00:00:00')
2。在 DateTime 构建器中使用构建
DATETIMEFROMPARTS(DATEPART(year,[TimeStamp]),DATEPART(month,[TimeStamp]),DATEPART(day,[TimeStamp]),00,00,00,00)