sql server可以定义的约束_数据库常见约束

sql server可以定义的约束_数据库常见约束SQLserver常见的约束条件1.检查只能是男或者女Sexin(‘男,女’)),Sex=‘男’orsex=‘女’)2.在一个范围中间Sage>0andsage<120Sagebetween12and303.长度大于某个值len(pwd)>6)//pwd为密码字段4.数大于某个值Sage>15.只能是8位字符,前两…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

SQL server常见的约束条件

1.检查只能是男或者女

Sex in(‘男,女’)),
Sex =‘男’ or sex =‘女’)

2.在一个范围中间

Sage>0 and sage<120
Sage between 12 and 30

3.长度大于某个值

len(pwd)>6) //pwd为密码字段

4.数大于某个值

Sage>1

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

alter table 表名

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

或者是

alter table 表名

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

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

字段like ‘%@%’

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

c字段 like ‘s%’

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

字段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之间的数字组成

字段 LIKE ‘[0-9][0-9][0-9]’ or 字段 LIKE ‘[0-9][0-9][0-9][0-9]’or 字段LIKE ‘[0-9][0-9][0-9][0-9][0-9]’;

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

字段 LIKE ‘[0-9][0-9][0-9]’ 表示3位的区号,如北京010;字段 LIKE ‘[0-9][0-9][0-9][0-9]’表示4位的区号,如三门峡0398; 字段 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型

字段 like’[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%’) or 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 CONSTRAINT 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://javaforall.net/182472.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java使文本框失去焦点的方法,使文本框text1获得焦点,js使文本框失去焦点

    Java使文本框失去焦点的方法,使文本框text1获得焦点,js使文本框失去焦点本文实例讲述了JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法。分享给大家供大家参考。具体如下:  html代码:  ?12345678…

    2022年6月20日
    25
  • httprunner(11)运行测试报告「建议收藏」

    httprunner(11)运行测试报告「建议收藏」前言受益于pytest的集成,HttpRunnerv3.x可以使用pytest所有插件,包括pytest-html和allure-pytest,也可以实现这2种方式的报告内置html报告pyt

    2022年8月6日
    2
  • 从Java培训班出来后是怎么找到工作的?

    从Java培训班出来后是怎么找到工作的?经常听到有人抱怨,我参加过IT培训,公司一看我的简历就直接pass我了,把培训经历去掉后,面试通知是多了,但是往往面试完,就不了了之了,难道我参加过培训,公司就不会选择我了吗?一些企业有点排斥培训班出来的,他们排斥的原因相信大家都知道,主要是简历过度包装,面试都会一上手就废而且现在相当多的公司,会选择在培训机构培训过的程序员,很多公司会去到相关培训机构做双选会,直接挑选适合本公司职位的学员,即能快速了解此人的技术水平,还能很直观的了解到他的学习水平。没有一个企业喜欢学习能力差的人,你可以在进公司的时

    2022年7月7日
    23
  • kmp算法 入门题

    kmp算法 入门题

    2021年9月27日
    47
  • wamp apache无法启动的解决方法

    wamp apache无法启动的解决方法

    2021年9月20日
    78
  • MediaCodec基本原理及使用「建议收藏」

    MediaCodec基本原理及使用「建议收藏」MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,能够编解码诸如H.264、H.265、AAC、3gp等常见的音视频格式。广义而言,MediaCodec的工作原理就是处理输入数据以产生输出数据。具体来说,MediaCodec在编解码的过程中使用了一组输入/输出缓存区来同步或异步处理数据:首先,客户端向获取到的编解码器输入缓存区写入要编解码的数据并将其提交

    2022年4月19日
    150

发表回复

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

关注全栈程序员社区公众号