最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL Server常見的約束條件用法及說明

 更新時(shí)間:2026年04月09日 15:00:58   作者:閆同學(xué)鴨  
本文總結(jié)了SQL Server常見約束條件的使用方法,包括檢查約束、長(zhǎng)度約束、范圍約束、字符格式約束、唯一性約束等,并對(duì)每個(gè)約束條件進(jìn)行了詳細(xì)解釋和示例

SQL server常見的約束條件

1.檢查只能是男或者女

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

2.在一個(gè)范圍中間

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

3.長(zhǎng)度大于某個(gè)值

len(pwd)>6) //pwd為密碼字段

4.數(shù)大于某個(gè)值

Sage>1

5.只能是8位字符,前兩位是 0 ,3~4位為數(shù)字,第 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.電子郵箱要含有@符號(hào)

字段like ‘%@%'

7.SQL中用check約束一列的首字母為’s’

c字段 like ‘s%'

8.檢查約束前3位和后8位均為數(shù)字字符:

字段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 身份證號(hào) from 表名
where len(身份證號(hào)) = 18 and (right(身份證號(hào),17) like '[0-9]'or right(身份證號(hào),17) like ‘x')

10.如何設(shè)置區(qū)號(hào)由0-9之間的數(shù)字組成

字段 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]'的號(hào)碼由表示n位從0到9中的數(shù)組成。
字段 LIKE ‘[0-9][0-9][0-9]' 表示3位的區(qū)號(hào),如北京010;字段 LIKE '[0-9][0-9][0-9][0-9]'表示4位的區(qū)號(hào),如三門峽0398; 字段 LIKE '[0-9][0-9][0-9][0-9][0-9]'表示5位的區(qū)號(hào),如香港00852

11.最后回復(fù)時(shí)間 TLastClickT 發(fā)貼時(shí)間 TTime

最后回復(fù)時(shí)間 必須晚于 發(fā)貼時(shí)間 并且小于等于當(dāng)前時(shí)間 使用GetDate()函數(shù)獲取當(dāng)前時(shí)間

設(shè)計(jì)表

在TLastClickT上右擊
選擇約束,新建,填入
([TLastClickT] > [TTime] and [TLastClickT] < GetDate())

或者

TiastReply(回帖時(shí)間)大于Ttime(發(fā)帖時(shí)間)在創(chuàng)表的同時(shí)

創(chuàng)建表的時(shí)候應(yīng)該還沒有回帖吧,為什么要用默認(rèn)值?

可以添加一個(gè)約束

alter table topic alter column add check(TlastReply is null or TlastReply > Ttime)

12.定義前八位為數(shù)字或者 -

一共是15位,為CHAR型

字段 like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%') or len(字段)=15)

13.如何限制varchar字段不允許出現(xiàn)單引號(hào)的檢查約束 !??!

設(shè)表為TALBENAME,不能有引號(hào)的字段為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字段不允許出現(xiàn)字符串的檢查約束 ?。。?/h3>

設(shè)表名為TABLENAME,VARCHAR類型的字段為VAR_FIELD.則有:

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

這樣,在VAR_FIELD只要出現(xiàn)字段一旦出現(xiàn)非數(shù)字內(nèi)容就會(huì)報(bào)告錯(cuò)誤。

16.電話號(hào)碼的格式必須為xxxx-xxxxxxxx或手機(jī)號(hào)11位

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

17.身份證號(hào)是18位且唯一的

alter 表名 add
constraint ck_字段名 check (len(字段名)=18 ),
constraint uk_字段名 unique(字段名)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

乐都县| 即墨市| 丹阳市| 桐柏县| 准格尔旗| 宜川县| 乌审旗| 巢湖市| 中方县| 神木县| 大宁县| 庆安县| 始兴县| 紫金县| 红河县| 梓潼县| 孝感市| 瑞金市| 海阳市| 闻喜县| 临汾市| 红河县| 清流县| 霍林郭勒市| 大宁县| 田阳县| 芜湖市| 任丘市| 聂拉木县| 宜章县| 黑龙江省| 徐水县| 湘潭县| 沈阳市| 贵港市| 翁牛特旗| 新田县| 天水市| 石首市| 和平区| 华安县|