【问题标题】:How to convert datetime to number in sql server如何在sql server中将日期时间转换为数字
【发布时间】:2019-06-19 07:21:08
【问题描述】:

此javascript代码的等效sql语法是什么:

let date = new Date();
alert(+date);

示例日期 =“2015 年 1 月 12 日星期一 12:15:00 GMT+0800”

var dat = new Date("Mon Jan 12 2015 12:15:00 GMT+0800")
console.log(+dat);

我在这里指的是SQL中的解决方案。

【问题讨论】:

标签: javascript sql-server


【解决方案1】:

试试

DECLARE @newDate datetime = GetDate()
PRINT CONVERT(varchar(20), @newDate, 103)

103 参数决定格式。 CONVERT 及其参数的完整文档是 here

【讨论】:

    【解决方案2】:

    使用SQL-Server 中的GETDATE() 函数获取当前日期。

    DECLARE @CurrentDate = GETDATE()
    
    PRINT @CurrentDate 
    

    【讨论】:

    • @FrancisLim DateTime 到 INT?这是否意味着只有一天?
    • var dat = new Date("2015 年 1 月 12 日星期一 12:15:00 GMT+0800") console.log(+dat);是的,但是将此结果复制到 SQL 兄弟
    【解决方案3】:

    请尝试以下代码。

    SELECT CAST(DATEDIFF(s,'1970-01-01', GETUTCDATE()) AS BIGINT)*1000
    

    【讨论】:

      【解决方案4】:

      您正在寻找:

      SELECT DATEDIFF(SECOND, '1970-01-01', getdate())
      

      这给出了当前时间和 Linux 纪元开始之间的秒数,1-jan-1970 00:00

      分解:

      SELECT             -- duh
      DATEDIFF           -- Datediff calculates the number of time-units between time A and time B
        (SECOND          -- What type of time unit? Can be month, day, hour or here: Second
        , '1970-01-01'   -- Time A
        , getdate()      -- Time B, SQL's built-in current date function
      )
      

      请注意,这会减少毫秒,但我们可以通过从当前时间中获取磨机的时间来重新添加它们:

      select concat(datediff(SECOND, '1970-01-01', getdate()), datepart(millisecond, getdate()))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-02
        • 2021-11-16
        相关资源
        最近更新 更多