【问题标题】:how to enter manual time stamp in get date ()如何在获取日期()中输入手动时间戳
【发布时间】:2010-06-08 02:43:40
【问题描述】:

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

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

返回 2010-06-07

现在我想输入我自己的时间戳 2010-06-07 10.00.00.000

我在使用这个

select * from sample table where time_stamp ='2010-06-07 10.00.00.000'

因为我试图自动执行此查询,所以我需要当前日期,但我需要不同的时间戳才能完成。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    您只想在结果中添加时间?像这样?

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

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

    select convert(datetime,convert(varchar(10),getdate(),120) + ' 10:00')
    

    【讨论】:

      【解决方案2】:
      --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
      

      “零”日期 = SQL Server 中的 1900 年 1 月 1 日

      【讨论】:

        【解决方案3】:
        SELECT DATEADD(hh, 1, FLOOR(CAST(GETDATE() AS FLOAT)))
        

        一旦确定了日期的下限,您就可以为其添加时间。

        DATEADD(datepart, number, date)

        【讨论】:

        • 我需要不同的时间戳但当前日期
        • 是的,但现在如果我想进入 10 点钟,我该怎么做,它只会改变日期仪式?我看起来像这样“2010-06-07 10.00.00.000”,其中 2010-06-07 是当前日期
        • 我需要在hh的地方加上时间吗
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        相关资源
        最近更新 更多