我正在使用 .net 中的 Oracle Data Access,我的查询如下
command.CommandText = "select * from table1 where expirydate =:EXPIRYDATE";
command.Parameters.Add("EXPIRYDATE", OracleDbType.Date, DateTime.Today,ParameterDirection.Input);
var results = command.ExecuteScalar();
我收到以下错误“ORA-00932:不一致的数据类型:预期的 DATE 得到了 NUMBER”
如果我将查询更改为:
command.CommandText ="select * from table1 where expirydate =
to_date(:EXPIRYDATE,'DD/MM/YYYY')";
我没有得到任何结果。
提前致谢。
最佳答案
此错误的最可能原因是查询中参数的顺序与您将它们添加到 Parameters
集合的顺序不匹配。 Oracle Data Access 假装按名称绑定(bind)它们,但实际上按顺序绑定(bind)它们。
关于c# - ORA-00932 : inconsistent datatypes: expected DATE got NUMBER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921702/