为什么数据可以从pl/sql查出来而使用ado.net查询,结果却是空?
2014-02-25 14:46
776 查看
1、背景
一条记录(如select * from A where a='1'),使用pl/sql作为条件可以查询出记录,但用ado.net sql查询结果却是空。
2、原因
a字段的数据类型的char(10),当写入1时数据库存放的是1+9个空格(自动补空格),pl/sql比较智能,查询时过滤了空格,而ado.net则是原样查询,所以查询结果为null(查询条件为a='1',而数据表中a的值为'1 ')
3、解决方案
1、业务上处理,即所有写入a字段的值长度都为10,填满了所有空格
2、修改数据字段为varchar
一条记录(如select * from A where a='1'),使用pl/sql作为条件可以查询出记录,但用ado.net sql查询结果却是空。
2、原因
a字段的数据类型的char(10),当写入1时数据库存放的是1+9个空格(自动补空格),pl/sql比较智能,查询时过滤了空格,而ado.net则是原样查询,所以查询结果为null(查询条件为a='1',而数据表中a的值为'1 ')
3、解决方案
1、业务上处理,即所有写入a字段的值长度都为10,填满了所有空格
2、修改数据字段为varchar
相关文章推荐
- mysql id 自动增长
- mysql 存储过程例子
- Oracle同义词创建及其作用(转载)
- mysql体系结构
- Oracle 意外删除数据文件的恢复
- 获取、增加、修改、删除sqlserver字段描述
- 在Linux系统下远程连接oracle的防火墙设置
- ADO、OLEDB、ODBC之间的关系图
- 无聊的MYSQL 备份脚本,零时备用着
- 用SQL将字符串按分隔符拆为子串
- MySQL ('root'@'%') does not exist 的问题
- 通过反射把list<T>转换成datatable,kill进程,事务传入一个Lst<String>多条sql语句
- dos下进入mysql环境
- mysql启动问题access denied for user 'root'@'localhost'(using password:YES)
- MySQL Help 答朋友问:5000W记录的Innodb表如何快速的去重复数据
- 数据库异常
- oracle数据库修改主键时子表外键处理
- oracle exchange partition
- sql语句
- Oracle索引学习总结