在Microsoft Azure SQL中截断日期?

在Microsoft Azure SQL中截断日期?,sql,tsql,azure-sql-database,truncate,Sql,Tsql,Azure Sql Database,Truncate,假设我有一个时间戳,我想把这个时间戳截短为分钟,因为时间戳所在的星期日。在标准SQL中,我将执行以下操作: timestamp\u diff(创建时间,创建时间,周,分钟) 其中,creared_at将是我拥有的时间戳,week将是truncate函数将其截断为week所需的参数。在Azure中如何实现这一点 我要回答这个问题,假设“timestamp”是指日期时间值。Sql Server(和Azure)中的实际时间戳数据类型是rowversion数据类型的已弃用同义词,与实际日期或时间无关 如

假设我有一个时间戳,我想把这个时间戳截短为分钟,因为时间戳所在的星期日。在标准SQL中,我将执行以下操作:

timestamp\u diff(创建时间,创建时间,周,分钟)

其中,
creared_at
将是我拥有的时间戳,
week
将是truncate函数将其截断为week所需的参数。在Azure中如何实现这一点

我要回答这个问题,假设“timestamp”是指日期时间值。Sql Server(和Azure)中的实际时间戳数据类型是rowversion数据类型的已弃用同义词,与实际日期或时间无关

如果您处理的是datetime值,下面将给出
@timestamp_to_truncate
与前一个星期日上午12点之间的分钟数:

declare @timestamp_to_truncate datetime = getdate()

declare @sunday datetime = cast(dateadd(day,1-DATEPART(dw, @timestamp_to_truncate),cast(@timestamp_to_truncate as date)) as datetime)

select datediff(mi,@sunday,@timestamp_to_truncate)