proc中select一个varchar2类型到c语言中的char变量里

bisal(Chen Liu)
领域专家: 数据库技术领域
2012-04-13 01:21:37
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类型变量的做法还是有点怀疑是否会有问题?请指教,谢谢!
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssqtjffcu 2012-04-14
  • 打赏
  • 举报
回复
默认是转换了,如果你不放心的话,最好自己写对那字符串转换成整形,
bisal(Chen Liu) 2012-04-13
  • 打赏
  • 举报
回复
如果在执行这个SQL之前已经确认edno字段只会是01,02,...等等的格式,那这样用SQL就应该没有问题了吧?

[Quote=引用 1 楼 的回复:]

这里会有默认进行的从字符串到整形的转换,一旦某个字符串中不是有效的数字形式,则会出问题。
最好还是用字符串吧。
[/Quote]
我心飞翔 2012-04-13
  • 打赏
  • 举报
回复
这里会有默认进行的从字符串到整形的转换,一旦某个字符串中不是有效的数字形式,则会出问题。
最好还是用字符串吧。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧