【问题标题】:how to get current datetime in SQL?如何在 SQL 中获取当前日期时间?
【发布时间】:2010-11-17 00:54:48
【问题描述】:

想让current datetime 插入lastModifiedTime 列。我正在使用 MySQL 数据库。我的问题是:

  1. SQL 中有可用的函数吗?或

  2. 这取决于实现,所以每个数据库都有自己的功能?

  3. MySQL有什么功能?

【问题讨论】:

  • 如果 ANSI-SQL 要求这些基本系统函数跨平台命名一致不是很好吗?标准化(子字符串或子字符串)或(IsNull 或 NVL)。

标签: sql database current-time


【解决方案1】:

对于 SQL Server,使用 GetDate() 或 current_timestamp。您可以使用 Convert(dataType,value,format) 格式化结果。使用正确的数据库服务器标记您的问题。

【讨论】:

    【解决方案2】:

    我总是只使用 NOW():

    INSERT INTO table (lastModifiedTime) VALUES (NOW())
    

    http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_now

    【讨论】:

      【解决方案3】:

      我想要我的约会时间,我想要它now()

      无论如何,对于 MySQL。

      【讨论】:

      • 太可爱了……但不适用于 Microsoft:“我想要我的约会,我想要 GetDate()!”
      • 当然可以。 “嗯,先生,从现在开始你可以自己 GetDate() 了!”
      【解决方案4】:

      NOW() 返回2009-08-05 15:13:00

      CURDATE() 返回2009-08-05

      CURTIME() 返回15:13:00

      【讨论】:

        【解决方案5】:
        1. GETDATE()GETUTCDATE() 现在被更丰富的 SYSDATETIMESYSUTCDATETIMESYSDATETIMEOFFSET 取代(在 SQL 2008 中)
        2. 是的,我认为ANSI 从未声明过任何内容,因此每个制造商都有自己的声明。
        3. 那就是NOW()

        希望这会有所帮助...

        罗伯

        【讨论】:

          【解决方案6】:

          完整答案:

          1. SQL 中有没有可用的函数?
          是的,SQL 92 规范,Oct 97,pg。 171,第 6.16 节指定了此功能:

          CURRENT_TIME       Time of day at moment of evaluation
          CURRENT_DATE       Date at moment of evaluation
          CURRENT_TIMESTAMP  Date & Time at moment of evaluation
          

          2。它取决于实现,所以每个数据库都有自己的功能?
          每个数据库都有自己的实现,但如果符合 SQL 92 规范,则必须实现上述三个功能(但取决于规范的版本)

          3. MySQL有什么功能?

          NOW() returns 2009-08-05 15:13:00  
          CURDATE() returns 2009-08-05  
          CURTIME() returns 15:13:00  
          

          【讨论】:

            【解决方案7】:
            SYSDATETIME() 2007-04-30 13:10:02.0474381
            SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
            SYSUTCDATETIME() 2007-04-30 20:10:02.0474381
            CURRENT_TIMESTAMP 2007-04-30 13:10:02.047 +
            GETDATE() 2007-04-30 13:10:02.047 
            GETUTCDATE() 2007-04-30 20:10:02.047
            

            我猜 NOW() 有时不起作用并给出错误 'NOW' is not a known built-in function name.

            希望对你有帮助!!!谢谢。 https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql

            【讨论】:

            • *这些是您在 MS SQL Server 中使用的函数
            【解决方案8】:

            只是 SQLite 的一个附加组件,您也可以使用

            当前时间 当前的日期 CURRENT_TIMESTAMP

            用于当前时间、当前日期和当前时间戳。 您将获得与 SQL 相同的结果

            【讨论】:

              【解决方案9】:

              试试这个

              SELECT CURTIME(); 返回 23:12:58

              SELECT CURDATE();返回2020-11-12

              SELECT NOW();返回2020-11-12 23:19:26

              SELECT DAY(now());返回12

              SELECT DAYNAME(now());周四返回

              希望这对你有帮助。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2011-01-01
                • 2010-10-03
                • 2019-08-13
                • 2017-10-05
                • 2013-10-15
                • 1970-01-01
                相关资源
                最近更新 更多