【问题标题】:how to seperate date and time in mssql table in to two columns如何将mysql表中的日期和时间分成两列
【发布时间】:2019-02-08 19:02:31
【问题描述】:

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

我尝试了getdate函数它不起作用,这是我的示例sql表数据

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

我想拥有

date           time 
2018-11-08    23:59

【问题讨论】:

    标签: sql-server database mssql-jdbc


    【解决方案1】:

    你可以这样做:

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

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

    如果要分开date & time,则使用ALTER 语句修改:

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

    【讨论】:

    • 我收到错误类型日期未定义系统类型和类型时间未定义系统类型
    • @vyshnavi。 .那么,您使用的是较低版本的SQL Server ??
    • 我的是mssql 9.0.5057版本
    • @vyshnavi 该版本不支持date 它是在 SQL Server 2008(版本 10)中引入的,也不再支持数据库本身。你应该升级。
    【解决方案2】:

    由于您可能需要同时使用日期和时间,我建议创建 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;
    

    【讨论】:

      猜你喜欢
      • 2019-09-23
      • 2021-10-10
      • 2015-05-16
      • 2018-09-14
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多