日期:2014-05-16  浏览次数:20868 次

proc中select一个varchar2类型到c语言中的char变量里
oracle中表tbl有个字段是edno,类型是varchar2(2),里面存放的是诸如01,02,03...这样的值,如果在proc中用:
int exist_edno = 0;
EXEC SQL select max(edno) into INTO :exist_edno FROM tbl;
我试了下也行,但这种将varchar2类型存储为一个c语言中的int类型变量的做法还是有点怀疑是否会有问题?请指教,谢谢!

------解决方案--------------------
这里会有默认进行的从字符串到整形的转换,一旦某个字符串中不是有效的数字形式,则会出问题。
最好还是用字符串吧。

------解决方案--------------------
默认是转换了,如果你不放心的话,最好自己写对那字符串转换成整形,