我在C里边用ORACLE,
定义了一个变量a[20];
memset(a,0,sizeof(a));
然后用到一个数据库语句select NVL(ABC,'KONG') into :a
                             
大概就是以上的意思,不知道说清楚了没有,就是想让数据库的那一项为空的时候赋给a一个字符串KONG,
可是现在当数据库里边的ABC为空的时候,赋给a的是KONG+15个空格。
想问一下为什么不就是'kong'这个字符串??
谢谢,在线等。。

解决方案 »

  1.   

    我需要通过那个长度来做一个判断,现在它自动补了空格之后,就没办法判断了。
    不知道这是由于NVL函数引起的还是什么别的原因??
    等待好人,高手
      

  2.   

    你的数据库里面的字段是什么类型的?
    你用INSERT/UPDATE的时候A这个变量你是以CHAR类型引用到数据库的吗?
      

  3.   

    是char型的,
    呵呵,还没有到insert这一步,只是select出来后通过那个变量的长度来做一个判断,
    为空的时候,我想赋给它'kong',不为空的时候是一个19位长的数,
    结果做判断的时候发现,为空的时候,赋的值是'kong               '
    用strlen(a),还是十九位问题已经解决了,其实有去空格的函数了,RightTrim(a)就好了,
    再strlen(a),当数据库那一项为空的时候就是4了,
    呵呵,感谢楼上的。。分给你喽