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

时间:2021-10-10 22:29:26

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