0

我有一个日期时间字段(例如 2013-07-02 01:14:32.000),我试图将其拆分为两列,别名列名称为“添加日期”和“添加时间:”。我只想查看当前日期之前 4 天跨度中包含的所有数据的结果。我也想减少微秒。这是否容易解决?我仍在学习 SQL Server Management Studio 2008 的技巧。任何人都可以编辑我的查询以显示正确的输出吗?

现有查询:

  Select as_key AS [Key:], as_name AS [Server Name:], as_introdate AS [Date Added:]
  from AutomationStations
  Order By [Date Added:] desc

现有查询的示例输出:

  Key: 0001
  Server Name: Server1
  Date Added: 2013-07-02 01:14:32.000
4

3 回答 3

1

或转换为日期和时间数据类型的替代方法..

SELECT 
    as_key AS 'Key:', 
    as_name AS 'Server Name:',
    CAST(as_introdate AS DATE) 'Date Added:',
    CAST(as_introdate AS TIME(0)) AS 'Time Added:' 
FROM AutomationStations
WHERE DATEDIFF(DAY,as_introdate,GETDATE()) <= 4
ORDER BY as_introdate DESC
于 2013-07-02T21:08:59.857 回答
0

从内置日期格式中提取所需部分的最简单方法:

SELECT 
    as_key AS [Key:], 
    as_name AS [Server Name:],
    CONVERT(VARCHAR(10),as_introdate,101) AS [Date Added:],
    CONVERT(VARCHAR(8) ,as_introdate,108) AS [Time Added:]
FROM AutomationStations
WHERE DATEDIFF(d,as_introdate,GETDATE()) <= 4
ORDER BY as_introdate DESC
于 2013-07-02T17:24:14.067 回答
-1
CONVERT(DATE, YOUR_SELECTED_DATETIME) AS DATE,
CONVERT(TIME, YOUR_SELECTED_DATETIME) AS TIME

这样您就可以保留数据类型。

于 2015-06-15T12:59:52.470 回答