为什么数据可以从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