cheeck语句的使用

cheeck语句的使用cheeck 语句例子 1 检查只能是男或者女 addconstck sexcheck sexin 男 女 addconstck sexcheck sex 男 orsex 女 2 在一个范

大家好,欢迎来到IT知识分享网。

cheeck语句例子

1.检查只能是男或者女

  add const ck_sex check(sex in(‘男,女’)),

  add const ck_sex check(sex =’男’ or sex =’女’)

2.在一个范围中间

constraint ch_age check(sage>0 and sage<120),

add const ck_age check(age between 12 and 30)

3.长度大于某个值

add const ck_lenght check(len(lenght)>6)

4.数大于某个值

 add const ck_number ckeck(number>1)

5.只能是8位字符,前两位是 0 ,3~4位为数字,第 5 位为下划线,6~8位为字母

alter table 表名

add constraint chkk  check((字段 like ’00[0-9][0-9]/_[a-z,A-Z][a-z,A-Z][a-z,A-Z]%’ escape ‘/’)and(len(字段)=8) )

或者是

alter table 表名

add constraint chkk  check((字段 like ’00[0-9][0-9][_][a-z,A-Z][a-z,A-Z][a-z,A-Z]%’)and(len(字段)=8) )

6.电子邮箱要含有@符号

check(字段like ‘%@%’)

7.SQL中用check约束一列的首字母为’s’

check(col1 like ‘s%’)

8.检查约束前3位和后8位均为数字字符:

check(col2 like ‘[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)

9.如何建立检查身份证的约束,身份证是18位,最后一位还有可能是X

select 身份证号 from 表名

where len(身份证号) = 18 and (right(身份证号,17) like  ‘[0-9]’or right(身份证号,17) like ‘x’)

10.如何设置区号由0-9之间的数字组成

CONSTRAINT  quhao CHECK (quhao  LIKE ‘[0-9][0-9][0-9]’ 

or quhao LIKE ‘[0-9][0-9][0-9][0-9]’or quhao LIKE ‘[0-9][0-9][0-9][0-9][0-9]’));

解释: 其中quhao LIKE ‘[0-9]…[0-9]’的号码由表示n位从0到9中的数组成。

quhao  LIKE ‘[0-9][0-9][0-9]’ 表示3位的区号,如北京010;quhao LIKE ‘[0-9][0-9][0-9][0-9]’表示4位的区号,如三门峡0398; quhao LIKE 

‘[0-9][0-9][0-9][0-9][0-9]’表示5位的区号,如香港00852 

11.最后回复时间 TLastClickT    发贴时间 TTime

最后回复时间 必须晚于 发贴时间  并且小于等于当前时间 使用GetDate()函数获取当前时间

设计表

在TLastClickT上右击

选择约束,新建,填入

([TLastClickT] > [TTime] and [TLastClickT] < GetDate())

或者

TiastReply(回帖时间)大于Ttime(发帖时间)在创表的同时

创建表的时候应该还没有回帖吧,为什么要用默认值?

可以添加一个约束 alter table topic alter column add check(TlastReply is null or TlastReply > Ttime)

12.定义前八位为数字或者 –

一共是15位,为CHAR型

alter table 表名

add constraint chk check(字段 like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%’),

    constraint chklen check(len(字段)=15)

13.如何限制varchar字段不允许出现单引号的检查约束 !!!

设表为TALBENAME,不能有引号的字段为FIELDNAME 则:

ALTER TABLE tablename ADD CONSTRAINT CK_fieldname CHECK (not fieldname like ‘%”%’)

14.在表中的某列中通过检查约束,让其有某些固定的值

check(sid like ‘bd[0-9][0-9][0-9][0-9][0-9][0-9]’)

add const ck_num check(num like ‘[1][2] [4][_] [0-9][0-9] [0-9][a-z]’)

15.如何限制varchar字段不允许出现字符串的检查约束 !!!

设表名为TABLENAME,VARCHAR类型的字段为VAR_FIELD.则有:

ALTER TABLE [dbo].[TABLENAME] ADD CONSTRAINT [CK_TABLENAME] CHECK (isnumeric([VAR_FIELD]) = 1)

这样,在VAR_FIELD只要出现字段一旦出现非数字内容就会报告错误。

16.电话号码的格式必须为xxxx-xxxxxxxx或手机号11位 

alter 表名 add constraint ck_字段名 check (字段 like ‘[0-9][0-9][0-9][0-9]_[0-9]……’ or len(字段)=11)

17.身份证号是18位且唯一的 

alter 表名 add 

constraint ck_字段名 check (len(字段名)=18 ),

constraint uk_字段名 unique(字段名)

1.检查只能是男或者女

  add const ck_sex check(sex in(‘男,女’)),

  add const ck_sex check(sex =’男’ or sex =’女’)

2.在一个范围中间

constraint ch_age check(sage>0 and sage<120),

add const ck_age check(age between 12 and 30)

3.长度大于某个值

add const ck_lenght check(len(lenght)>6)

4.数大于某个值

 add const ck_number ckeck(number>1)

5.只能是8位字符,前两位是 0 ,3~4位为数字,第 5 位为下划线,6~8位为字母

alter table 表名

add constraint chkk  check((字段 like ’00[0-9][0-9]/_[a-z,A-Z][a-z,A-Z][a-z,A-Z]%’ escape ‘/’)and(len(字段)=8) )

或者是

alter table 表名

add constraint chkk  check((字段 like ’00[0-9][0-9][_][a-z,A-Z][a-z,A-Z][a-z,A-Z]%’)and(len(字段)=8) )

6.电子邮箱要含有@符号

check(字段like ‘%@%’)

7.SQL中用check约束一列的首字母为’s’

check(col1 like ‘s%’)

8.检查约束前3位和后8位均为数字字符:

check(col2 like ‘[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)

9.如何建立检查身份证的约束,身份证是18位,最后一位还有可能是X

select 身份证号 from 表名

where len(身份证号) = 18 and (right(身份证号,17) like  ‘[0-9]’or right(身份证号,17) like ‘x’)

10.如何设置区号由0-9之间的数字组成

CONSTRAINT  quhao CHECK (quhao  LIKE ‘[0-9][0-9][0-9]’ 

or quhao LIKE ‘[0-9][0-9][0-9][0-9]’or quhao LIKE ‘[0-9][0-9][0-9][0-9][0-9]’));

解释: 其中quhao LIKE ‘[0-9]…[0-9]’的号码由表示n位从0到9中的数组成。

quhao  LIKE ‘[0-9][0-9][0-9]’ 表示3位的区号,如北京010;quhao LIKE ‘[0-9][0-9][0-9][0-9]’表示4位的区号,如三门峡0398; quhao LIKE 

‘[0-9][0-9][0-9][0-9][0-9]’表示5位的区号,如香港00852 

11.最后回复时间 TLastClickT    发贴时间 TTime

最后回复时间 必须晚于 发贴时间  并且小于等于当前时间 使用GetDate()函数获取当前时间

设计表

在TLastClickT上右击

选择约束,新建,填入

([TLastClickT] > [TTime] and [TLastClickT] < GetDate())

或者

TiastReply(回帖时间)大于Ttime(发帖时间)在创表的同时

创建表的时候应该还没有回帖吧,为什么要用默认值?

可以添加一个约束 alter table topic alter column add check(TlastReply is null or TlastReply > Ttime)

12.定义前八位为数字或者 –

一共是15位,为CHAR型

alter table 表名

add constraint chk check(字段 like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%’),

    constraint chklen check(len(字段)=15)

13.如何限制varchar字段不允许出现单引号的检查约束 !!!

设表为TALBENAME,不能有引号的字段为FIELDNAME 则:

ALTER TABLE tablename ADD CONSTRAINT CK_fieldname CHECK (not fieldname like ‘%”%’)

14.在表中的某列中通过检查约束,让其有某些固定的值

check(sid like ‘bd[0-9][0-9][0-9][0-9][0-9][0-9]’)

add const ck_num check(num like ‘[1][2] [4][_] [0-9][0-9] [0-9][a-z]’)

15.如何限制varchar字段不允许出现字符串的检查约束 !!!

设表名为TABLENAME,VARCHAR类型的字段为VAR_FIELD.则有:

ALTER TABLE [dbo].[TABLENAME] ADD CONSTRAINT [CK_TABLENAME] CHECK (isnumeric([VAR_FIELD]) = 1)

这样,在VAR_FIELD只要出现字段一旦出现非数字内容就会报告错误。

16.电话号码的格式必须为xxxx-xxxxxxxx或手机号11位 

alter 表名 add constraint ck_字段名 check (字段 like ‘[0-9][0-9][0-9][0-9]_[0-9]……’ or len(字段)=11)

17.身份证号是18位且唯一的 

alter 表名 add 

constraint ck_字段名 check (len(字段名)=18 ),

constraint uk_字段名 unique(字段名)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151662.html

(0)
上一篇 2025-03-12 16:10
下一篇 2025-03-12 16:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信