如下三条语句:语句1查询不出结果,2,3均可以,card_no字段为char(10)类型,表card为分区表
语句1
select card_sts, a.*
from card a
where a.card_no in ('card1','card2')
语句2
select card_sts, a.*
from card a
where trim(a.card_no) in ('card1','card2')
语句3
select card_sts, a.*
from card a
where a.card in ('card1')
语句1为什么查询不出结果
语句1
select card_sts, a.*
from card a
where a.card_no in ('card1','card2')
语句2
select card_sts, a.*
from card a
where trim(a.card_no) in ('card1','card2')
语句3
select card_sts, a.*
from card a
where a.card in ('card1')
语句1为什么查询不出结果
解决方案 »
- 大家好,请教大家一个从ZHS16GBK字符集导入AL16UTF8字符集的问题
- 新人求解如何让表的输出对齐
- 我想在Oracle中存大量的汉字,应该用什么字段?请教 。。
- 一个关于oracle的存储过程该怎么调用啊,为什么我总是出错?
- 数据库的insert问题。。
- 数据库的批处理文件
- oracle数据库导出问题,急,在线等,先谢了!
- pl/sql developer中tools-sessions的问题
- union时报 ORA-12704: 字符集不匹配 错
- 高手请帮帮忙,先谢了!ora-01034,ora-27101错误的解决办法?
- 安装Oracle9.0.2复制文件过程中提示写入orank59.dll文件时出现错误。
- select * from tablename for update的使用
from card a
where a.card_no='card1' or a.card_no='card2';
http://blog.csdn.net/jxcjxinxing/archive/2007/03/30/1546493.aspx
同意楼上空格的说法.
语句2中是去了空格以后的,所有说你的card_no的值是有空格的,所以查询不出来
---------- ----------
123 1
1234 2
123 3
1234 4SQL>
建议用varchar类型
LZ的第句可以呢语句3
select card_sts, a.*
from card a
where a.card in ('card1')
应该是
语句3
select card_sts, a.*
from card a
where a.card_no in ('card1') 问题应该跟空格没关系,因为语句3可以查询出结果,而在语句一中,同样的卡号查询不出结果。