代码之家  ›  专栏  ›  技术社区  ›  Arunachalam

如何在获取日期()中输入手动时间戳

  •  0
  • Arunachalam  · 技术社区  · 15 年前

    如何在get date()中输入手工时间戳?

    select conver(varchar(10),getdate(),120)
    

    报表2010-06-07

    现在我想输入我自己的时间戳 2010年6月7日10.00.00.000

    从时间戳为2010-06-07 10.00.00.000'的样本表中选择*

    由于我正在尝试自动执行此查询,因此需要当前日期,但需要不同的时间戳才能完成。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Paul Kearney - pk    15 年前

    你只想在结果后面加上一个时间?这样地?

    select convert(varchar(10),getdate(),120) + ' 10.00.00.000'
    

    或者如果要将其恢复为DATETIME类型:

    select convert(datetime,convert(varchar(10),getdate(),120) + ' 10:00')
    
        2
  •  1
  •   gbn    15 年前
    --SQL Server 2008
    DECLARE @MyTime time, @MyDate date
    
    SELECT @MyDate = GETDATE(), @MyTime = '10:00:00'
    
    SELECT CAST(@MyDate AS datetime) + @MyTime
    
    --SQL Server 2005 and before
    DECLARE @MyTime datetime, @MyDate datetime
    
    SELECT
       @MyDate = DATEADD(day, 0, DATEDIFF(day, 0, GETDATE())),
       @MyTime = '19000101 10:00:00'
    
    SELECT @MyDate + @MyTime
    

        3
  •  0
  •   Joe Phillips    15 年前
    SELECT DATEADD(hh, 1, FLOOR(CAST(GETDATE() AS FLOAT)))
    

    一旦你知道了日期的底限,你就可以增加时间了。

    DATEADD(datepart, number, date)