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插入到数据库中,看生成的串是不是有区别就知道了。

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况