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

如何从Microsoft SQL Server 2014的datetime列中仅提取日期?

在SQL Server 2014中从datetime列提取日期部分的方法

针对你的需求,有几种简单有效的方法可以实现从datetime列中仅提取日期部分:

  • 使用CONVERT函数(纠正你之前的参数顺序错误):

    SELECT CONVERT(date, name_of_the_column) AS 提取的日期
    FROM 你的表名;
    

    date类型会自动截断时间部分,只保留年-月-日格式的日期信息。

  • 使用CAST函数,语法更简洁:

    SELECT CAST(name_of_the_column AS date) AS 提取的日期
    FROM 你的表名;
    

    效果和CONVERT(date, ...)完全一致,两种方法任选其一即可。

  • 如果你需要保留datetime类型但仅保留日期(时间部分为00:00:00),可以用DATEADD+DATEDIFF的组合:

    SELECT DATEADD(day, DATEDIFF(day, 0, name_of_the_column), 0) AS 仅日期的datetime
    FROM 你的表名;
    

    这个方法通过计算目标日期与"0"日期(1900-01-01)的天数差,再将该天数加回"0"日期,从而得到去除时间的datetime值。

你之前的错误是把CONVERT的参数顺序搞反了,正确的格式是CONVERT(目标数据类型, 要转换的列/值),而你写的CONVERT(name_of_the_column, GETDATE())相当于把当前时间(GETDATE())转换成列的类型,自然只会返回服务器当前时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:20:34