字符串 怎么转换成long型?

ghostzxp 2009-03-23 08:27:59
由sqlserver转来的视图是个联合查询。

select 字段 from 表1

union

select ‘名称’from 表2

现在到了oracle里,由于 字段 数据量大,采用long型存储,导致视图不能建立。提示是类型不一样。

字段的类型是long 名称默认是varchar的吧。

怎么把 ‘名称’ 转换成long型,以使视图能建立。
...全文
423 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostzxp 2009-03-24
  • 打赏
  • 举报
回复

总结
long型实在不是一个好用的类型。oracle自己也不推荐使用。long型的内容不适合查询。

处理方法:

修改了表结构,long型改成了varchar型,超过4000的数据再插入一条记录。

Allan_xd 的方法有可行性。

2,3楼方法不行。

谢谢大家的参与。
dawugui 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 ghostzxp 的帖子:]
由sqlserver转来的视图是个联合查询。

select 字段 from 表1

union

select ‘名称’from 表2

现在到了oracle里,由于 字段 数据量大,采用long型存储,导致视图不能建立。提示是类型不一样。

字段的类型是long 名称默认是varchar的吧。

怎么把 ‘名称’ 转换成long型,以使视图能建立。
[/Quote]
试试TO_NUMBER

select 字段 from 表1 
union
select to_number(名称) 字段 from 表2



select 字段 from 表1
union all
select to_number(名称) 字段 from 表2


Andy__Huang 2009-03-23
  • 打赏
  • 举报
回复
你试着把long类型放在前面一个select 语句,因为long类型的长度比varchar长,长类型转换成短类型是出问题的
所以短类型应该放在后一个select语句里
Allan_xd 2009-03-23
  • 打赏
  • 举报
回复
好像不能转换吧,你不如再建一个包含一个long型字段的表,把“名称”插入到这个表中,用时把第二个子句写成查询该表的语句即可。

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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