SQL Server上的表接受某些时间

SQL Server上的表接受某些时间,sql,sql-server,Sql,Sql Server,我想为开店和关门时间创建约束,对于早上9点之后开店和晚上9点之前关门,我如何使用时间戳实现这一点。多谢各位 IF OBJECT_ID('[toyStoreManagement].[dbo].[TOY_STORE]', 'U') IS NOT NULL DROP TABLE [toyStoreManagement].[dbo].[TOY_STORE] GO -- Create the table in the specified schema CREATE TABLE [toyStoreManag

我想为开店和关门时间创建约束,对于早上9点之后开店和晚上9点之前关门,我如何使用时间戳实现这一点。多谢各位

IF OBJECT_ID('[toyStoreManagement].[dbo].[TOY_STORE]', 'U') IS NOT NULL
DROP TABLE [toyStoreManagement].[dbo].[TOY_STORE]
GO
-- Create the table in the specified schema
CREATE TABLE [toyStoreManagement].[dbo].[TOY_STORE]
(
    [TOY_STORE_ID] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, -- Primary Key column
    [TOY_STORE_NAME] NVARCHAR(30) NOT NULL,
    [CITY] NVARCHAR(30) NOT NULL,
    [PHONENUMBER] NUMERIC(10) NOT NULL UNIQUE(PHONENUMBER),
    [STORE_OPENING_TIME] TIMESTAMP (***HERE***) ,
    [STORE_CLOSING_TIME] TIMESTAMP (***AND HERE***)
    -- Specify more columns here
);
GO

时间戳
不是你想象的那样。您希望
时间
列带有
检查
约束:

STORE_OPENING_TIME TIME,
STORE_CLOSING_TIME TIME,
CHECK (STORE_OPENING_TIME >= '09:00'00' AND STORE_CLOSING_TIME <= '21:00:00')
STORE\u OPENING\u TIME,
商店关门时间,

检查(STORE\u OPENING\u TIME>='09:00'00'和STORE\u CLOSING\u TIME对不起,Oracle和SQL Server是两个不同的数据库。您想知道这两个数据库的答案吗?很抱歉,我在azure数据研究中使用MSSQL。对于SQL Server,您不应该使用时间戳,而应该使用时间、日期时间或日期时间2。时间戳会贬值。请不要这样做。)t养成坏习惯。首先,你的连接应该确定用于对象引用的数据库。只有当你有充分的理由时,才使用3或4个部分名称。不在这里。时间戳不能这样做,因为它只是一个数字计数器,根据行上次写入的时间设置,与一天中的时间没有关系。时间戳的数据类型我的一天就是时间