如何在两列中将mssql表中的日期和时间分开

时间:2019-02-08 19:02:31

标签: sql-server database mssql-jdbc

我有一个视图,其中的日期列同时包含日期和时间,我想将这些列与日期和时间列分开

我尝试了getdate函数无法正常工作,这是我的示例sql表数据

title  description       date
sample  this is sample   2018-11-08 23:59:59.000

我想拥有

date           time 
2018-11-08    23:59

2 个答案:

答案 0 :(得分:1)

您可以:

select cast(date as date), left(cast(date as time), 5) 

您可以使用简单的SELECT语句轻松进行对话。

如果要单独使用datetime,请使用ALTER语句进行修改:

alter table t
     add [date] as CAST( [date] as date),
     add [time] as CAST( [date] as time(0))

答案 1 :(得分:0)

由于您可能需要一起使用日期和时间,因此建议创建2个计算列。例如

CREATE TABLE SampleData(
    title       varchar(15),
    description varchar(100),
    [date]      datetime
)
INSERT INTO SampleData
VALUES( 'sample', 'this is sample', '2018-11-08 23:59:59.000')

ALTER TABLE SampleData
    ADD dateonly AS CAST( [date] as date),
        timeonly AS CAST( [date] as time)

SELECT * FROM SampleData;