当前位置: 代码迷 >> Sql Server >> 查询字段内的字符串长度!
  详细解决方案

查询字段内的字符串长度!

热度:75   发布时间:2016-04-27 14:31:27.0
查询字段内的字符串长度!在线等。急
我有这样的一个表

a表
字段n (char20)
我里面存放的全是20位数字。。
但是我想检查 有没有 不是20位数字的。

select number from cc where len(number)<>20
比如这样。。。
但是问题:我这个表里面假设有 19位的数字+一个空格 我怎样才能查处这样的 19位数字呀

------解决方案--------------------
select number from cc where len(ltrim(rtrim(number)))<>20

------解决方案--------------------
SQL code
select number from cc where len(rtrim(number))<>20orselect number from cc where len(cast(number as varchar(20)))<>20
------解决方案--------------------
SQL code
declare @str nvarchar(1000)set @str = '12345678901234567089'select (case when len(@str)=20 and patindex('%[^0-9]%',@str)>0 then '有非数字字符存在' else '符合条件' end)/****************----------------符合条件(1 行受影响)
------解决方案--------------------
探讨
引用:

SQL code
select number from cc where len(rtrim(number))<>20
or
select number from cc where len(cast(number as varchar(20)))<>20


二楼大哥 您的 len(rtrim(number))<>20
len(cast(n……

------解决方案--------------------
在sql2005+测试,len函数是不管数据类型都返回正确的,不会出现楼主说的情况

SQL code
create table #a(x char(20))insert #a select '1'select len(x) from #a--结果1
  相关解决方案