sqlserver存储过程 限制字段长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver存储过程 限制字段长度相关的知识,希望对你有一定的参考价值。

现在要写一个存储过程
要在指定的一张表中插入数据
对数据中某一个字段有限制,比如说有一个字段叫手机 必须是11位
如果不符合就不存这个数据

参考技术A inseterd 插入触发器里判断下数据长度len()是否为11,不为11不做插入操作 参考技术B 示例:

create proc p_test
(
@Phone varchar(20), --输入参数:手机号
@Result smallint output --输出参数:0 手机号长度正常;1 手机号异常
)
as
declare @len int
set @len=len(@Phone)
if @len=11
begin
set @Result=0
print '手机号长度正常'
end
else
begin
set @Result=01
print '手机号异常'
end本回答被提问者采纳

SQLServer 中怎么计算字段类型为text 的长度?急!

参考技术A len(READTEXT([text]))
datalength(),返回为字节数
len(cast(列名
as
varchar))
你看哪种好就用哪种
参考技术B 文本数据类型:
char、varchar
最大可以存储8000个字符(每个字符占一个字节)
nchar、nvarchar
最大可以存储4000个字符(每个字符占两个字节)
如果需要存放更大数据,可以考虑以下方法:
方法①:将多个列视为复合列,每次使用时组合起来(麻烦,省内存)
方法②:使用text、ntext超大文本类型(简单,耗内存)

以上是关于sqlserver存储过程 限制字段长度的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver字段长度50和5000的区别

oracle 存储过程,数据处理并返回结果集问题

存储过程使用连接从一个表中选择所有字段

如何写sqlserver2000存储过程?用于批量录入数据,求解

锁定 SQL Server 存储过程

sqlserver查找使用了某个字段的所有存储过程