为什么数据可以从pl/sql查出来而使用ado.net查询,结果却是空?

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

原文地址:https://www.cnblogs.com/gossip/p/3566707.html