sql server可以定义的约束_常见约束类型及其约束反力

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

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

Jetbrains全家桶1年46,售后保障稳定

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/234419.html原文链接:https://javaforall.net

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


相关推荐

  • neo4j如何安装_neo4j环境变量配置

    neo4j如何安装_neo4j环境变量配置一、neo4j简介最近开始学习知识图谱,所以首先想先学习一下neo4j的使用。Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。由于知识图谱中存在大量的关系型信息(实体—关系—实体),使用结构化数据库进行存储将产生大量的冗余存储信息,因此将图数据库作为知识图谱的存储容器成为流行的选择。当前较为常用的图数据库主要有Neo4j等。二、neo4j的安装功能快捷键撤销:Ctrl/Command+Z重做:Ctrl/Command+Y加粗:Ctrl/Co

    2025年7月24日
    3
  • 认识ThinkPHP的惯例配置文件

    认识ThinkPHP的惯例配置文件

    2022年4月2日
    39
  • MAC怎么安装brew

    MAC怎么安装brew用brewinstallgit安装git,然后提示安装失败,百度后发现是需要先安装brew用官网给的命令,报错,太绝人了,百度了好多都无法成功,最后找到一个大佬的解决办法,贴出来**解决**苹果电脑常规安装脚本(推荐完全体几分钟安装完成):/bin/zsh-c”$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”苹果电脑极速安装脚本(精简版几秒钟安装完成):/bin/zsh-

    2025年7月4日
    4
  • maven项目使用mybatis插件Free Mybatis plugin「建议收藏」

    maven项目使用mybatis插件Free Mybatis plugin「建议收藏」首先安装插件如图所示选择第一个插件安装,安装完毕重启IDEA 然后我们选择我们已经配置好的数据库如下图在需要生成配置文件的数据库上右键,就会出现mybatis-generator选项打开这个就打开如上图所示配置窗口,这里我们使用默认的就行,如果不想使用lombok去掉这个勾选即可,然后我们选择ok即可就会生成以上文件,一个数据库的映射类,一个操作数据库的映射接口,和具体操作数据库的xml,主配置文件就在Configure里面这个自己生成…

    2022年9月28日
    2
  • C语言学生成绩管理系统

    C语言实现了学生成绩管理系统,可以对学生成绩进行录入、查询、修改、删除和排序。#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#include&amp;amp;lt;string.h&amp;amp;gt;typedefstructStuScore{ intstuID; charstuName[10]; intyuwen;

    2022年4月9日
    58
  • Flume+Kafka整合案例实现

    Flume+Kafka整合案例实现 一、为什么要集成Flume和Kafka我们很多人在在使用Flume和kafka时,都会问一句为什么要将Flume和Kafka集成?那首先就应该明白业务需求,一般使用Flume+Kafka架构都是希望完成实时流式的日志处理,后面再连接上Flink/Storm/SparkStreaming等流式实时处理技术,从而完成日志实时解析的目标。第一、如果Flume直接对接实时计算框架,当数据采集速…

    2022年6月23日
    31

发表回复

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

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