当我选择日期在SQL返回为2011-02-25 21:17:33.933。但我只需要日期部分,即2011-02-25。我该怎么做呢?
当前回答
你也可以试试这个。
SELECT CONVERT(DATE, GETDATE(), 120)
其他回答
如果你想返回一个日期类型只是一个日期使用
CONVERT(date, SYSDATETIME())
or
SELECT CONVERT(date,SYSDATETIME())
or
DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())
最快的是date ediff。
select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl
但是如果你只需要使用这个值,那么你可以跳过dateadd,例如。
select ...
WHERE somedate <= datediff(d, 0, getdate())
表达式datediff(d, 0, getdate())足以返回今天的日期而不包含时间部分。
你可以这样用
SELECT Convert(varchar(10), GETDATE(),120)
我将创建一个标量函数,并使用format()设置希望看到的数据类型。它必须便于以后的维护。
select DATE(字段)
字段值:2020-12-15 12:19:00
选择值:2020-12-15
推荐文章
- 比较两个SQL Server数据库(模式和数据)的最佳工具是什么?
- 在SQL中,如何在范围中“分组”?
- 选项(RECOMPILE)总是更快;为什么?
- 设置数据库从单用户模式到多用户
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- 我如何转义一个百分比符号在T-SQL?
- SQL Server恢复错误-拒绝访问
- 的类型不能用作索引中的键列
- SQL逻辑运算符优先级:And和Or
- 如何检查一个表是否存在于给定的模式中
- 添加一个复合主键
- 如何在SQL Server Management Studio中查看查询历史
- SQL Server索引命名约定
- 可以为公共表表达式创建嵌套WITH子句吗?
- 什么时候我需要在Oracle SQL中使用分号vs斜杠?