user_no是字符型?select * from users where ltrim(rtrim(user_no))='1'
解决方案 »
- 50分,ntext类型字段中的字符串全表替换(在线等待!)
- SQL查上一條、下一條記錄
- 如何根据一个字符串生成一站表
- 新手请大家帮忙解决一下问题
- 在Single_User的模式下,创建返回表的函数有时会遇到Database 'Dbname' is already open, and can only...
- 程序执行存储过程的问题,我的问题还是数据库的问题??
- 简单的交叉表!请各位大哥帮忙!
- 数字转成成日期格式
- 怎样在客户端获得服务器的错误信息提示?
- 如何用sql语言实现?
- 为什么TEXT类型的字段,从页面得到的字符串能存储几万字节,而在代码中直接写的字符串只能存2000字节??
- 上百万的数据统计问题!?
user_no number
1 '134124'
2 '124512' ?
select * from users where replace(replace(replace(user_no,' ',''),char(10),''),char(13),'')=1
字段类型是varchar(30)
select * from users where replace(replace(replace(user_no,' ',''),char(10),''),char(13),'')='1'
如果user_no是varcharselect user_no , len(user_no) from users 看看长度是不是1?这样应该明白了吧?
我也尝试了各位给出的语句,基本上,还是查询不到,。。
万般无奈,只好决定drop 它啦,
select * from users where cast( ltrim(rtrim(user_no)) as int )=1
用like '%%'是可以的,关键是系统中都是用user_no来关联查询的,影响很大
不可能都修改为like,而且效率是问题
select * from users where cast(user_no as varchar) = N'1'
如果还不行的话
就用
dbcc checktable
======================================================================================
【特别感谢:happyflystone 】贴出测试的结果:
======================================================================================
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 'users'(ID 1067866871)。索引 'IX_users_no'(ID 105)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:10489617:0)(由 RID = (1:10489617:0) 标识)的索引值为 user_no = 2001405931。
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 'users'(ID 1067866871)。索引 'IX_users_no'(ID 105)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:10489617:1)(由 RID = (1:10489617:1) 标识)的索引值为 user_no = 2001331578。
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 'users'(ID 1067866871)。索引 'IX_users_no'(ID 105)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:10489617:3)(由 RID = (1:10489617:3) 标识)的索引值为 user_no = 2001406464。
'users' 的 DBCC 结果。
对象 'users' 有 2071047 行,这些行位于 252729 页中。
CHECKTABLE 发现了 0 个分配错误和 3 个一致性错误(在表 'users' 中,该表的对象 ID 为 1067866871)。
repair_fast 是最低的修复级别(对于由 DBCC CHECKTABLE (ppc.dbo.users ) 发现的错误而言)。
但是,造成这个错误的原因是什么?原来服务器的硬盘是出过问题的,好像客户他们自己修理过的吧,
但是我用HDTunePro检测没发现有问题,我想用硬盘故障跟客户解释,可又拿不出有力的证据,还总以为我老那硬盘说事,咋儿办?再一个问题,如果真是硬盘的问题,那我这么频繁的修复表也不是个事啊
或者用程序读取出数据库字段,然后判断该字段是否有隐藏的控制字符?比如回车换行之类的。