我在C里边用ORACLE,
定义了一个变量a[20];
memset(a,0,sizeof(a));
然后用到一个数据库语句select NVL(ABC,'KONG') into :a
大概就是以上的意思,不知道说清楚了没有,就是想让数据库的那一项为空的时候赋给a一个字符串KONG,
可是现在当数据库里边的ABC为空的时候,赋给a的是KONG+15个空格。
想问一下为什么不就是'kong'这个字符串??
谢谢,在线等。。
定义了一个变量a[20];
memset(a,0,sizeof(a));
然后用到一个数据库语句select NVL(ABC,'KONG') into :a
大概就是以上的意思,不知道说清楚了没有,就是想让数据库的那一项为空的时候赋给a一个字符串KONG,
可是现在当数据库里边的ABC为空的时候,赋给a的是KONG+15个空格。
想问一下为什么不就是'kong'这个字符串??
谢谢,在线等。。
不知道这是由于NVL函数引起的还是什么别的原因??
等待好人,高手
你用INSERT/UPDATE的时候A这个变量你是以CHAR类型引用到数据库的吗?
呵呵,还没有到insert这一步,只是select出来后通过那个变量的长度来做一个判断,
为空的时候,我想赋给它'kong',不为空的时候是一个19位长的数,
结果做判断的时候发现,为空的时候,赋的值是'kong '
用strlen(a),还是十九位问题已经解决了,其实有去空格的函数了,RightTrim(a)就好了,
再strlen(a),当数据库那一项为空的时候就是4了,
呵呵,感谢楼上的。。分给你喽