然后我要求在建表的时候字段 b 的值必须小于字段 a 的值,这个约束怎么建立啊????
8 个解决方案
#1
USE ForTest
GO
IF OBJECT_ID('dbo.stu') IS NOT NULL
DROP TABLE dbo.stu
GO
CREATE TABLE dbo.stu
(
a INT,
b INT
)
ALTER TABLE dbo.stu
ADD CONSTRAINT CH_D_T CHECK(b <= a)
GO
INSERT INTO dbo.stu
这种约束是表级约束
#2
create table stu
(
a int not null ,
b int not null
)
alter table stu add constraint ck_a_b check(a>b)
(
a int not null ,
b int not null
)
alter table stu add constraint ck_a_b check(a>b)
#3
好吧 谢谢大家O(∩_∩)O哈! 着急写错了,原题是对于两个时间类型的字段,beginTime 和 endTime 然后要求是 endTime 要大于 beginTime 而且是精确到小时!!!
一时着急,大家看看这个怎么搞??当然也是需要建约束的!!
#4
请看看楼上问题补充,然后再帮我看看O(∩_∩)O哈!
#5
alter table stu
add constraint ck_time check(DATEDIFF(hh,begintime,endtime)>0)
add constraint ck_time check(DATEDIFF(hh,begintime,endtime)>0)
#6
这个样子的话 貌似这条语句:
add constraint ck_time check( endtime>begintime )
也是可以的啊?
请详细解析下看看 谢谢O(∩_∩)O哈!
#7
哦,我没理解你说的精确到小时是指的什么
我做的时间比较,endtime>begintime至少1小时呵呵
我做的时间比较,endtime>begintime至少1小时呵呵
#8
嗯 是的 我也不太理解精确到1小时表示什么意思,后来我们就做成了你开始写的那种方式,然后就可以随便是神马意思了 O(∩_∩)O哈哈~
还是谢谢你O(∩_∩)O哈!
#1
USE ForTest
GO
IF OBJECT_ID('dbo.stu') IS NOT NULL
DROP TABLE dbo.stu
GO
CREATE TABLE dbo.stu
(
a INT,
b INT
)
ALTER TABLE dbo.stu
ADD CONSTRAINT CH_D_T CHECK(b <= a)
GO
INSERT INTO dbo.stu
这种约束是表级约束
#2
create table stu
(
a int not null ,
b int not null
)
alter table stu add constraint ck_a_b check(a>b)
(
a int not null ,
b int not null
)
alter table stu add constraint ck_a_b check(a>b)
#3
好吧 谢谢大家O(∩_∩)O哈! 着急写错了,原题是对于两个时间类型的字段,beginTime 和 endTime 然后要求是 endTime 要大于 beginTime 而且是精确到小时!!!
一时着急,大家看看这个怎么搞??当然也是需要建约束的!!
#4
请看看楼上问题补充,然后再帮我看看O(∩_∩)O哈!
#5
alter table stu
add constraint ck_time check(DATEDIFF(hh,begintime,endtime)>0)
add constraint ck_time check(DATEDIFF(hh,begintime,endtime)>0)
#6
这个样子的话 貌似这条语句:
add constraint ck_time check( endtime>begintime )
也是可以的啊?
请详细解析下看看 谢谢O(∩_∩)O哈!
#7
哦,我没理解你说的精确到小时是指的什么
我做的时间比较,endtime>begintime至少1小时呵呵
我做的时间比较,endtime>begintime至少1小时呵呵
#8
嗯 是的 我也不太理解精确到1小时表示什么意思,后来我们就做成了你开始写的那种方式,然后就可以随便是神马意思了 O(∩_∩)O哈哈~
还是谢谢你O(∩_∩)O哈!