【问题标题】:Automatic Adding Current DateTime In TableField在 TableField 中自动添加当前日期时间
【发布时间】:2017-10-22 06:32:48
【问题描述】:

我正在使用 SQL SERVER 2005,我也是 SQL SERVER

的新手

现在我需要知道 SQL SERVER 2005 中有什么方法或任何技术

这样只要我在表格中添加新记录,那么当前日期时间应该添加到表格的任何给定字段

示例:

假设我有 CUSTOMER 表 它有字段说 CustomerID,CustomerName,....,DateTime。 现在只要新客户添加到此表中,那么当前日期时间应该自动添加到DateTime CUSTOMER 表的字段。

【问题讨论】:

    标签: sql-server sql-server-2005


    【解决方案1】:

    在 SSMS 中,可以将表属性的相应列的Default value or binding 属性设置为getdate()

    【讨论】:

    • getdate() 是当地时间。对于最佳实践,您还可以使用 getutcdate() 这将返回与您的国家/时区无关的相同时间。
    【解决方案2】:

    您需要添加default constraint:

    alter table MyTable add constraint MyColumnDefault default getdate() for MyColumn;
    

    【讨论】:

    • @Gogolev,感谢您的回答.....但我不知道在哪里写这个查询,有没有办法像从属性窗口设置一些属性,就是这样???
    【解决方案3】:

    我不是 SQL 方面的专家,但您可以为此使用 TIMESTAMP,请参阅:
    http://msdn.microsoft.com/en-us/library/ms182776%28v=sql.90%29.aspx

    【讨论】:

    • 时间戳只是一个递增的二进制值。它主要用于行版本控制。来自您自己的链接:“时间戳数据类型只是一个递增数字,不保留日期或时间。要记录日期或时间,请使用 datetime 数据类型。”
    【解决方案4】:

    听起来你应该看看时间戳数据类型:

    http://msdn.microsoft.com/en-us/library/ms182776%28v=sql.90%29.aspx

    【讨论】:

      【解决方案5】:

      使用默认值检查表定义

      声明@Table 表 ( Id int identity,[Name] varchar(100),CreatedDate DateTime default (Getdate()) ) 插入@Table([名称]) 值('yogesh') 插入@Table([名称]) 价值观('Bhadauriya') 插入@Table([名称]) 价值观('Yogesh Bhadauriya') 选择 * 来自@Table

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-26
        • 1970-01-01
        • 2020-12-06
        相关资源
        最近更新 更多