如何在不更改SQL Server中的数据类型的情况下将日期时间转换为日期?

时间:2019-05-17 05:33:10

标签: sql sql-server

如何在不更改数据格式的情况下拆分此TimeStamp列?

我有一列TimeStamp,其格式为datetime,我只想保留日期部分(采用datetime格式)。

我尝试使用

CONVERT(DATE, "TimeStamp")

它仅显示日期部分,但格式为nvarchar(10)

SQL代码:

SELECT 
    "TimeStamp",
    CONVERT(DATE, "TimeStamp") AS Date

我的预期结果:

TimeStamp (datetime)    Date (datatype: datetime)
------------------------------------------------------
2017-03-10 07:30:25     2017-03-10
2017-03-10 07:30:28     2017-03-10
2017-03-10 07:31:30     2017-03-10
2017-03-10 07:31:39     2017-03-10

3 个答案:

答案 0 :(得分:2)

好吧,我为您制作了一个演示,请尝试一下,在这里我使用GETDATE()来返回当前日期和时间戳,您必须按照问题{{1 }}。

解决方案1 ​​

TimeStamp

输出

SELECT CAST(CONVERT(VARCHAR,GETDATE(),110) AS DATE) AS DATE

解决方案2

2019-05-17

输出

SELECT CAST(CONVERT(VARCHAR,GETDATE(),110) AS DATETIME) AS DATE

我认为您需要时间戳记中唯一的日期,因此,您需要更改数据类型2019-05-17 00:00:00.000 ,否则,如果您将保留数据类型DATE,那么它将返回类似DATETIME的日期< / p>

答案 1 :(得分:0)

select GETDATE() as TimeStamp,
convert(date, getdate()) as date

enter image description here

答案 2 :(得分:0)

SELECT CONVERT(date,getdate());