当我选择日期在SQL返回为2011-02-25 21:17:33.933。但我只需要日期部分,即2011-02-25。我该怎么做呢?
当前回答
SQL Server 2008:
Convert(date, getdate())
请参考https://learn.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
其他回答
首先将日期转换为浮点数(这将显示数字),然后将数字舍入为0小数点,然后将其转换为datetime。
convert(datetime,round(convert(float,orderdate,101),0) ,101)
你也可以试试这个。
SELECT CONVERT(DATE, GETDATE(), 120)
如果你想返回一个日期类型只是一个日期使用
CONVERT(date, SYSDATETIME())
or
SELECT CONVERT(date,SYSDATETIME())
or
DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())
虽然已经太晚了,但我还是坚持了下来
declare @vCurrentDate date=getutcdate()
select @vCurrentDate
当数据类型为date时,小时将被截断
如果你需要时间为0,比如2018-01-17 00:00:00.000:
Select convert (datetime, convert (date, getdate ()), 121)
推荐文章
- 比较两个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斜杠?