CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

关于sql存储过程中的不等于问题

楼主zjbsaber(波波)2003-12-01 09:58:57 在 MS-SQL Server / 疑难问题 提问

在存储过程中的where条件里的不等于用什么来表示啊   用符号<>没有反应  
  不等于空可以用is   not   null来表示   可当不等于一个变量呢  
  就像一批人事资料重要查询不等于女的   怎么表示 问题点数:0、回复次数:18Top

1 楼txlicenhe(马可)回复于 2003-12-01 10:00:48 得分 0

where   isnull(性别,'')   <>   '女'  
  Top

2 楼zjbsaber(波波)回复于 2003-12-01 10:12:27 得分 0

没用啊   还是没有起作用Top

3 楼victorycyz(--)回复于 2003-12-01 10:13:18 得分 0

如果是性别,用不等于不合适吧,就两个值,最好用等于‘男’,来得更有效率。Top

4 楼zjbsaber(波波)回复于 2003-12-01 10:15:06 得分 0

当然不是性别了   我是举个例子Top

5 楼pengdali()回复于 2003-12-01 10:19:53 得分 0

where   rtrim(isnull(性别,''))   <>   '女'Top

6 楼zjbsaber(波波)回复于 2003-12-01 10:33:47 得分 0

还是不行啊Top

7 楼zjbsaber(波波)回复于 2003-12-01 11:27:24 得分 0

用了上面两个大师推荐的   没反应跟用<>效果一样不起作用Top

8 楼zjbsaber(波波)回复于 2003-12-01 15:04:54 得分 0

怎么没反应了   大家再帮我想想办法啊Top

9 楼tsqgw2001(程式猎人)回复于 2003-12-01 15:32:11 得分 0

declare   @s   int  
  set   @s=1  
  create   table   t(isd   int)  
  insert   into   t  
    select   1  
    union  
    select   2  
    union  
    select     3  
     
  select   *   from   t   where   isd<>@s  
  select   *   from   t  
  drop   table   tTop

10 楼zjbsaber(波波)回复于 2003-12-01 16:19:48 得分 0

这个方法在管理器里执行可以   但写在存储过程里就不行了Top

11 楼tsqgw2001(程式猎人)回复于 2003-12-01 16:28:08 得分 0

不明白,我一直用的好好的。包括存储过程。检查一下你的变量的长度和实际的长度是否一致。  
  可能是不一致造成的。Top

12 楼zjbsaber(波波)回复于 2003-12-01 17:03:01 得分 0

是一致的阿   我用的是sql7.0   我是说单独执行你那句sql语句的时候是没有问题的  
  但放到存储过程里就不行了Top

13 楼dlpseeyou(豆子)回复于 2003-12-01 17:12:17 得分 0

where   rtrim(isnull(性别,''))!=   '女'Top

14 楼wwjwang(类猿人)回复于 2003-12-01 17:50:05 得分 0

where   not(   ltrim(rtrim(isnull(性别,'')))   =   '女')Top

15 楼xhwly(wly)回复于 2003-12-01 20:03:37 得分 0

1.可能是你數據本身就有問題,  
  例如:可能你的數據類型為char(5),   則其值實為'女       ',(注意后面的空格)  
  用   where     ltrim(rtrim(isnull(性别,'')))   <>   '女'   肯定是可以的.  
   
  2.可能是where   not(   ltrim(rtrim(isnull(性别,'')))   =   '女')寫成了  
  where   ltrim(rtrim(isnull(性别,'')))   <>   '女     '(注意后面不要有空格)  
   
   
   
  Top

16 楼zjbsaber(波波)回复于 2003-12-02 11:30:19 得分 0

我左右空格都去了   都没有用   照你这么说可能是我的sql7。0有问题了Top

17 楼leimin(黄山光明顶)回复于 2003-12-02 13:55:21 得分 0

try:  
   
  where   rtrim(isnull(性别,''))   <>   N'女'  
  Top

18 楼zjbsaber(波波)回复于 2003-12-02 15:30:40 得分 0

请问你那个N是何用意呢Top

相关问题

  • c# 中能不能访问sql中的存储过程!
  • 请问能不能用PB调用SQL中的存储过程?
  • sql中存储过程的调试
  • ※ Asp 中调用 Sql Server 存储过程 ※
  • 存储过程中动态sql问题
  • SQL存储过程中调用 xmlhttp
  • oracle存储过程中的动态sql
  • sql server中存储过程问题
  • 请问在sql server的存储过程中(用transact sql)能不能用数组?
  • 求SQL语句 要在SQL中可以执行 不要是存储过程

关键词

  • 存储过程
  • sql
  • 性别
  • rtrim
  • isnull
  • 女
  • ltrim
  • 空格
  • 问题
  • where

得分解答快速导航

  • 帖主:zjbsaber

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo