You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server如何从TIMESTAMP类型字段提取日期部分,解决DATE函数报错问题

解决方案

SQL Server 未内置PostgreSQL风格的DATE()函数,提取时间字段的日期部分可以使用以下两种通用方法:

  • 方法1:使用CAST函数(符合SQL标准,兼容性最优)
    你的原过滤条件需要调整为如下写法,注意SQL Server不支持直接对日期类型做数字加减,需要用DATEADD函数处理日期偏移:
    AND CAST(A.SERVERTIME AS DATE) = DATEADD(DAY, 1, CAST(B.SERVERTIME AS DATE))
    
  • 方法2:使用CONVERT函数
    效果和CAST完全一致,可根据代码风格选择:
    AND CONVERT(DATE, A.SERVERTIME) = DATEADD(DAY, 1, CONVERT(DATE, B.SERVERTIME))
    

注意事项

如果你的SQL Server环境中SERVERTIME字段定义为TIMESTAMP类型(该类型在SQL Server中别名是ROWVERSION,实际存储二进制序列,不存储时间值),需要先将字段类型调整为DATETIME/DATETIME2类型后再使用上述转换逻辑。

内容的提问来源于stack exchange,提问作者Papillon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:15:03