當前位置:首頁 » 編程語言 » sql限定字母
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql限定字母

發布時間: 2022-06-28 07:18:00

A. sql如何限定欄位為數字和字母

如果你是用Frontpage做的話,你可以直接用對話框去設置。
方法:選中文本框——右鍵,表單域屬性——驗證有效性——選擇需要的數據類型。
它的結果是產生的一段JAVAScript代碼,在前台檢測輸入的數據。

B. 怎麼在sql 里對一個表的某一個欄位名 做一個「第一個字元為字母」進行約束 該怎麼寫

(ascii(upper([aaa])) > 64 and ascii(upper([aaa])) < 91)

企業管理器→所要操作的資料庫→所要操作的表→右鍵點該表→點設計表→右鍵點 設計表的窗口→點 check約束→新建→然後在裡面輸入上面的話
上邊的aaa是要約束的欄位名
上邊的那句的整體意思是:
upper 的意思是:小寫轉大寫
ascii 的意思是:求字元串的最左邊的字母的ascii碼
然後判斷這個碼是不是在 64和91 之間
也就是 A 和Z 之間

寫成語句就是:
alter table 表名
with nocheck
add constraint ck_aaa
check( (ascii(upper([aaa])) > 64 and ascii(upper([aaa])) < 91))

其中ck_aaa 是約束的名字,隨便起的,你想起什麼就起什麼
with nocheck 就是對現有的數據不進行檢查,只有新加入的數據才檢查

回答完畢。

幫助別人,自己得分,鞏固知識,何樂而不為!!

C. sql欄位約束只能使用字母 (a-z)(A-Z)數字(0-9) 和數點(.)怎麼寫

列名like '%[a-z]%' or 列名 like '%[A-Z]%' or 列名 like '%[0-9]%' or 列名 like '%.%'

D. sql中表中一列的值,怎麼弄成固定字母和數字組合

這個應該跟你的要求類似,你自己看一看~
CREATE FUNCTION 例十一_編號()
RETURNS varchar(7)
BEGIN
DECLARE @編號 varchar(7)
DECLARE @id int

SELECT TOP 1 @編號 = 編號
FROM tb_例十一
ORDER BY 編號 DESC

IF @@ROWCOUNT = 0
SET @編號 = 'TCP-001'
ELSE
BEGIN
SET @id = CAST(SUBSTRING(@編號,5,3) AS int) + 1
SET @編號 = 'TCP-' + REPLICATE('0',3-LEN(@id)) + CAST(@id AS varchar(3))
END
RETURN @編號
END
GO

CREATE TABLE tb_例十一
(
編號 varchar(7) DEFAULT dbo.例十一_編號(),
名稱 nvarchar(10)
)
GO

INSERT tb_例十一(名稱)
VALUES ('測試一')
INSERT tb_例十一(名稱)
VALUES ('測試二')
INSERT tb_例十一(名稱)
VALUES ('測試三')
GO

SELECT *
FROM tb_例十一
GO

E. 用sql 查詢,某一組中以字母開頭的元祖,字母不限定在某個上

select * from tablename where fieldname like '[a-Z]%'
請注意,'[a-Z]%'中a是小寫,Z是大寫

F. 怎樣在SQL里寫不知道長度字元串的約束 規定只能輸入英文字元

1> SELECT
2> PATINDEX('%come%go%', 'easy come, easy go, so easy!') A
3> go
A
-----------
6
(1 行受影響)

可以通過 PATINDEX(¡%[^a-zA-Z]%¡, 指定字元串) = 0 的方式,來創建 Check
約束,限制指定欄位,只允許存儲英文字母。

也就是

CREATE TABLE 表 (
欄位 varchar(20) ,
CHECK PATINDEX(¡%[^a-zA-Z]%¡, 欄位) = 0
);

G. SQL 2005 可視化操作中怎麼設置表中某一欄位的字元串取值只能包含字母s或m

這是check約束,你可以用可視化操作添加check約束,在表設計里;也可以直接用SQL命令:

altertable表名addconstraintMyCheck1check(列名1in('s','m'))
altertable表名addconstraintMyCheck2check(列名2in('a','b','c','d'))

H. sql添加約束以英文字母開頭

ALTER TABLE #temp WITH NOCHECK ADD
constraint ck_name check (name like '[a-z]%' or name like '[A-Z]%')

I. sql中如何實現只能輸入A-Z之間的字元

給分高點好不?
// 生成只能寫字母的欄位
Create Table TEST(ID Varchar(10) Check(ID not Like '%[^A-Z]%'))
GO
Insert TEST Values('1')
Insert TEST Values('7')
Insert TEST Values('12')
Insert TEST Values('ABC')
Insert TEST Values('A12')
Insert TEST Values('12D')
Select * from TEST
GO

你寫的很好啊,你的要求和約束寫的都是「前兩位是大寫字母,後四位是數字」,當然輸入小寫會出錯誤了

J. sql創建表過程中如何達到列的取值約束為第一個字元為字母的要求

定義為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]%')