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