首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么判断一个字段只包含12个数字,挑出来不是这样的字段。

2013-02-25 
如何判断一个字段只包含12个数字,挑出来不是这样的字段。在线等,急表中有一个字段,该字段只能填写12位的数

如何判断一个字段只包含12个数字,挑出来不是这样的字段。在线等,急
表中有一个字段,该字段只能填写12位的数字,其他的都不算规范,我需要挑出来不规范的,请问该怎么弄。
[解决办法]
select * from 表 where isnumeric(字段)=1 and len(字段)=12

如果有空格,在用下ltrim和rtrim...
[解决办法]

select * from 表 where isnumeric(字段)!=1 or len(ltrim(字段)) !=12


[解决办法]
select * from tb where col not like replicate('[0-9]',12)

[解决办法]
创建一个函数



ALTER FUNCTION [dbo].[FUN_ISNUMERIC](
@STR VARCHAR(8000)
)
RETURNS  INT
AS
BEGIN

DECLARE @INDEX INT
SET @INDEX = 1;
WHILE LEN(@STR) >= @INDEX
BEGIN

IF ISNUMERIC(SUBSTRING(@STR,@INDEX,1)) = 0
BEGIN
RETURN 1
END
SET @INDEX = @INDEX + 1
END

RETURN 0;
END
GO

WHERE  len(字段) <> 12  OR DBO.FUN_ISNUMERIC(字段) = 1

热点排行
Bad Request.