1

MS SQL Server 2008 R2 を使用しています。各行に、行がデータベースに挿入された日付と時刻を含むセルが必要です。MS SQL Server 2005 でスクリプトを作成してデータベースをロードしたいので、datetime または date を使用できないため、Computed Column Specification プロパティで getdate() 関数を使用しようとしました。誰でも私を助けてください。

ありがとう

4

2 に答える 2

5

Jean Claude、ここに完全な例があります。

コード

USE tempdb;
SET NOCOUNT ON;
GO

CREATE TABLE dbo.TestTable (
    RecordId         int         IDENTITY,
    RecordValue      varchar(32) NOT NULL,
    RecordCreateDate datetime    NOT NULL,

    CONSTRAINT PK_TestTable
    PRIMARY KEY CLUSTERED (
        RecordId
    )
)
GO

ALTER TABLE dbo.TestTable
ADD CONSTRAINT DF_TestTable_RecordCreateDate
DEFAULT GETDATE()
FOR RecordCreateDate;
GO

INSERT INTO dbo.TestTable (RecordValue) VALUES ('this');
WAITFOR DELAY '00:00:01';
INSERT INTO dbo.TestTable (RecordValue) VALUES ('that');
WAITFOR DELAY '00:00:01';
INSERT INTO dbo.TestTable (RecordValue) VALUES ('the other thing');

SELECT * FROM dbo.TestTable;

結果

RecordId RecordValue     RecordCreateDate
-------- --------------- -----------------------
1        this            2012-05-16 10:43:48.400
2        that            2012-05-16 10:43:49.403
3        the other thing 2012-05-16 10:43:50.403

また、新しい日時データ型と SYSDATETIME() 関数についても調査する必要があります。

于 2012-05-16T17:46:17.443 に答える
0

Jean Claude さん、あなたは datetime について誤解しているようです。これは、私がこれまでに使用した SQL Server のすべてのバージョンでサポートされており、6.5 までさかのぼります。SQL 2008 で新しく追加されたのは、日付型と時刻型です。

Rob の優れた回答は、SQL 2005 と 2008 の両方でうまく機能するはずです。

于 2012-05-29T15:02:54.420 に答える