jdsucheng 2015-04-22 06:24 采纳率: 0%
浏览 2275
已结题

奇怪的Oracle varchar2 长度问题

最近我写了一个Oracle存储过程如下:

create table testt(param varcahr(50), len number, ts date);

create or replace procedure testp(p_a varchar)
IS
BEGIN
insert into testt(param,len,ts) values(p_a,length(p_a),sysdate);
commit;
End;

我在SQL Developer中直接执行这个存储过程 testp('12345') 系统显示长度是5,而 我使用OLEDB.Oracle驱动,使用C#程序执行这个存储过程时,发现同样的调用记录却显示长度为6.

我的系统是Windows 2008, 数据库是 Oracle 11G 11.2.0.1

我运行程序的电脑是Win 7,.Net Framwork4.5

望高手指导一下!

谢谢!

  • 写回答

6条回答 默认 最新

  • danielinbiti 2015-04-22 06:29
    关注

    把p_a插入到数据库中,看生成的串是不是有区别就知道了。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog