有人可以幫助我如何創建一個包含當天日期和30天的表格。 是這樣對嗎?使用當前日期和當前日期之後30天創建表
創建表樣品 datetoday日期時間不爲空默認的current_datetime(), dateafter30days DATETIME NOT NULL默認CURRENT_DATE(+30)
的邏輯,例如有一個用戶,現在註冊,以便它會紀錄數據庫和他的註冊到期30天后。
意味着註冊和到期日期的日期..
非常感謝
喬伊
有人可以幫助我如何創建一個包含當天日期和30天的表格。 是這樣對嗎?使用當前日期和當前日期之後30天創建表
創建表樣品 datetoday日期時間不爲空默認的current_datetime(), dateafter30days DATETIME NOT NULL默認CURRENT_DATE(+30)
的邏輯,例如有一個用戶,現在註冊,以便它會紀錄數據庫和他的註冊到期30天后。
意味着註冊和到期日期的日期..
非常感謝
喬伊
create table SAMPLE
(
SUBSCRIBER_ID INT Primary Key,
REGISTER_DT DATETIME NOT NULL,
EXPIRE_DT DATETIME NOT NULL
)
可以更新過期日期時,註冊新用戶如下。
INSERT INTO SAMPLE(SUBSCRIBER_ID,REGISTER_DT,EXPIRE_DT)
VALUES (1,GETDATE(), DATEADD(DAY,30,GETDATE())
是的,在這裏你試試。當插入新的訂戶數據時,註冊日期是當前日期,過期日期是當前日期之後的30天。你插入的sql語句,不需要提及這兩列(REGISTER_DT,EXPIRE_DT),這兩個將在插入語句時自動更新。
根據下表的結構,你的插入語句應該是
INSERT INTO SAMPLE (SUBSCRIBER_NM) VALUES ('John');
- 表創建語句
CREATE TABLE [dbo].[SAMPLE](
[SUBSCRIBER_ID] [int] IDENTITY(1,1) NOT NULL,
[SUBSCRIBER_NM] [nvarchar](50) NOT NULL,
[REGISTER_DT] [datetime] NOT NULL CONSTRAINT [DF_SAMPLE_REGISTER_DT] DEFAULT (getdate()),
[EXPIRE_DT] [datetime] NOT NULL CONSTRAINT [DF_SAMPLE_EXPIRE_DT] DEFAULT (dateadd(day,(30),getdate())),
CONSTRAINT [PK_SAMPLE] PRIMARY KEY CLUSTERED
(
[SUBSCRIBER_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
你可以使用計算(和可選持久)字段此:
CREATE TABLE YourTableName
(
Subscriber INT PRIMARY KEY,
IssueDate DATETIME,
ExpireDate AS DATEADD(DAY, 30, IssueDate)
)
謝謝:)你的幫助 – 2012-02-02 06:44:29
@DatabaseAdmin最好的感謝總是upvote並接受答案8) – 2012-02-02 06:47:21
在插入時創建表格和觸發器 * 表*
create table test
(
sub_id int primary key,
issueDate datetime,
expDate datetime
)
CREATE TRIGGER test_trigger BEFORE INSERT ON `test`
FOR EACH ROW SET NEW.issueDate = IFNULL(NEW.issueDate,NOW()),
NEW.expDate= TIMESTAMPADD(DAY,30,NEW.issueDate)
嗨,我試過,已經,,但有可能把價值作爲這樣創建表樣品 ( SUBSCRIBER_ID INT主鍵, REGISTER_DT DATETIME NOT NULL默認值創建腳本(1,GETDATE()), EXPIRE_DT DATETIME NOT NULL默認DATEADD(DAY,30,GETDATE())) – 2012-02-02 03:00:55