我写了下面的一段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) 不然的话 系统会根据长度自动添加空格的