日期:2014-05-17  浏览次数:20923 次

varchar2 读入后带空格
我写了下面的一段PROC代码


  EXEC SQL BEGIN DECLARE SECTION;
  char name[20 + 1];
  EXEC SQL END DECLARE SECTION;

  memset(name, 0x00, sizeof(name));

  EXEC SQL SELECT name INTO :name FROM tablename WHERE .......;

  name列是varchar2(50);数据库里面name列的值里面没有空格
  name变量里面给前面是名字,后面填满了空格,oracle varchar2这种是不是就这样的

------解决方案--------------------
这个与数据库无关吧,是你在程序里面定义了char类型,如果存放不满的话,其余的都按照空格存储
------解决方案--------------------
不要空格的话 设置为nvarchar2(50) 不然的话 系统会根据长度自动添加空格的