sql建立表過程中如何達到列的取值約束為字元為字母的要求

時間 2021-09-14 09:03:50

1樓:匿名使用者

定義為char(6),最大容量是為6,不過要求是一定得輸入6個數字才行

可以定義check約束為:

(欄位名 like '[0-9][0-9][0-9][0-9][0-9][0-9]')

列的取值約束為第一個字元為字母可以定義check約束為:

(欄位名 like '[a-z,a-z]%')如果在查詢分析器中可以用:

alter table 表名

add check (欄位名 like '[0-9][0-9][0-9][0-9][0-9][0-9]')

和alter table 表名

add check (欄位名 like '[a-z,a-z]%')

2樓:匿名使用者

你好,可以試下看是否符合你的要求:

create table t

(-- 第一位字母

c1 varchar(10) check (patindex('%[a-z,a-z]%',c1)=1),

-- 為數字列

c2 char(6) check (isnumeric(c2)=1))希望對你有所幫助,祝你好運~~

3樓:擺渡浮橋

create table tablename(col1 char(6),

constraint ch_col1 check (col1 like '[a-za-z]%') --檢查約束,第一個字元允許字母。);

4樓:匿名使用者

alter table temp_linshi

add constraint 列 check (left(列,1)='n' );go

在sql—server中設定一個列的約束只能是八位字元,前兩位是0,3-4為數字,第五位是下劃線,6-8位是字母。

5樓:匿名使用者

substring('12345678',1,2)='00'--判斷前兩位是0

ascii(substring('12a45678',3,1)) between ascii('0') and ascii('9') --判斷第三位是數字

ascii(substring('12a45678',4,1)) between ascii('0') and ascii('9') --判斷第四位是數字

ascii(substring('12345678',5,1)) = ascii('_') --判斷第五位是下劃線

ascii(upper(substring('12345678',6,1))) between ascii('a') and ascii('z') --判斷第六位是字母

ascii(upper(substring('12345678',7,1))) between ascii('a') and ascii('z')--判斷第七位是字母

ascii(upper(substring('12345678',8,1))) between ascii('a') and ascii('z')--判斷第八位是字母

6樓:

00[0-9][0-9]_[a-z][a-z][a-z]

alter table test

add constraint ck_test check(name like '00[0-9][0-9]_[a-z][a-z][a-z]')

sql 儲存過程建立表的問題,Sql 儲存過程建立表的問題!

救救大漢江山吧 把建立語句拼成字串 儲存過程中用exec去執行建立 殤忄路 額 什麼問題呢?你要建立儲存過程?create or replace procedure test pro p name in varchar2,out msg out varchar2 定義輸入引數p name 輸出引數o...

sql中如何把a表某列update成b表某列資料

update a bmt1 set bmt1.c select b.c from b a where b.a a.a and b.a bmt1.a update a bmt1 set bmt1.c select b.c from b a where b.a a.a 如如果直接這樣的話,如果子查詢查出...

在sql儲存過程中如何宣告變數賦值變數最好有

追夢的一個男孩 sql server 儲存過程中怎麼將變數賦值 sql賦值語句 declare test1 int select test1 111 set test1 222 sql函式賦值,假定count 是自定義函式declare test2 int select test2 count fr...