40、日期时间处理与统计分析的T-SQL实践

日期时间处理与统计分析的T-SQL实践

1. 日期时间查询及应用

在处理日期和时间数据时,会遇到诸多棘手的问题,如不同语言约定、舍入问题、非SARGable过滤器以及实现的局限性等。不过,我们可以通过一些方法来正确且高效地处理相关任务。

1.1 示例查询及操作

以下是一个示例查询,用于处理日期时间相关的数据:

C3 AS
(
  SELECT *, 
    FLOOR((ROW_NUMBER() OVER(ORDER BY ts) + 1) / 2) AS p
  FROM C2
    CROSS APPLY ( VALUES(s - (se - s) - 1, (se - e) - e) ) AS A(cs, ce)
  WHERE cs = 0 OR ce = 0
)
SELECT MIN(ts) AS starttime, MAX(ts) AS endtime
FROM C3
GROUP BY p;
GO

接着,使用以下查询将表值函数(TVF)应用于 Accounts 表(为演示目的,使用 TF 8649 强制并行):

SELECT A.actid, P.starttime, P.endtime
FROM dbo.Accounts AS A
  CROSS APPLY dbo.PackedIntervals(A.actid) AS P
OPTION(QUERYTRACEON 8649);
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值