【问题标题】:How to separate date and time and show in separate columns in SQL Server?如何分隔日期和时间并在 SQL Server 中的单独列中显示?
【发布时间】:2017-03-01 18:26:25
【问题描述】:

我有一个 SQL Server 表,其中有一列 TaskAssignDate,其中包含类似

的数据
2017-09-02 00:00:00.000

我想从该列中分离日期和时间,并在不同的列中显示数据。

我有一个这样的 SQL 查询

select 
    TaskAutoId, UserAutoId,
    CONVERT(varchar, TaskAssignDate, 100) as TaskAssignDate,
    TaskDescription, TaskStartDate,
    CONVERT(varchar, TaskEndDate, 100) as TaskEndDate,
    IsCloseByUser
from 
    tblTask
where 
    IsSelfAssign = 1

我想编辑以下查询,并将我的列 (taskassigndate) 分成两列

什么是正确的方法?

【问题讨论】:

  • 像这样简单地将其转换为适当的类型 - SELECT TaskAutoId,UserAutoId,Cast(TaskAssignDate as date) AS TaskAssignDate,Cast(TaskAssignDate as time) AS AssignEndDate

标签: sql-server date


【解决方案1】:

您可以使用CAST 和要转换为的适当数据类型DATETIME

select TaskAutoId
    , UserAutoId
    , CONVERT(varchar, TaskAssignDate, 100) as TaskAssignDate
    , TaskDescription
    , TaskStartDate
    , CONVERT(varchar, TaskEndDate, 100) as TaskEndDate
    , IsCloseByUser
    , CAST(TaskAssignDate AS DATE) TaskAssignDate -- the date part
    , CAST(TaskAssignDate AS TIME) TaskAssignTime -- the time part
from tblTask
where IsSelfAssign = 1

【讨论】:

    【解决方案2】:

    SQL Server 2008 及更高版本:

    -- Select date
    SELECT CAST(GETDATE() AS DATE);
    
    -- Select time
    SELECT CAST(GETDATE() AS TIME);
    

    【讨论】:

      【解决方案3】:

      试试这个

      select TaskAutoId
          , UserAutoId
          , CONVERT(varchar, TaskAssignDate, 100) as TaskAssignDate
          , TaskDescription
          , TaskStartDate
          , CONVERT(varchar, TaskEndDate, 100) as TaskEndDate
          , IsCloseByUser
          , CONVERT(VARCHAR(10), TaskAssignDate, 101) TaskAssignDate -- the date    part
          , CONVERT(VARCHAR(10), TaskAssignDate, 108) TaskAssignTime -- the time part
      from tblTask
      where IsSelfAssign = 1
      

      【讨论】:

        猜你喜欢
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-10
        • 2018-02-10
        • 1970-01-01
        • 1970-01-01
        • 2012-10-18
        相关资源
        最近更新 更多