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

Sybase数据库:如何获取不带时间部分的当前日期?

获取SQL Server中GETDATE()的日期部分或午夜时间的DATETIME数据

针对你需要从GETDATE()返回的2025-05-07 15:49:07.780中提取日期部分,或者得到时间为午夜(00:00:00)的DATETIME类型数据,这里有几种实用的SQL Server方法:

  • 方法1:通过CAST类型转换
    先将DATETIME转换为DATE类型(仅保留日期),再转回DATETIME,自动补全午夜时间:

    SELECT CAST(CAST(GETDATE() AS DATE) AS DATETIME);
    

    执行后会返回2025-05-07 00:00:00.000,是标准的DATETIME类型。

  • 方法2:使用DATEADD+DATEDIFF截断时间
    这是SQL Server中截断时间的经典写法,性能表现稳定:

    SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0);
    

    原理是计算从1900-01-01到当前日期的天数,再将这个天数加回1900-01-01,得到的就是当前日期的午夜时间,结果同样是2025-05-07 00:00:00.000。

  • 方法3:仅获取日期字符串(如果不需要DATETIME类型)
    如果你只需要纯日期格式的字符串,可以用CONVERT指定格式代码23(对应yyyy-MM-dd):

    SELECT CONVERT(VARCHAR(10), GETDATE(), 23);
    

    执行后返回2025-05-07,是字符串类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:24:52