首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Apex 20.1中的列类型从varchar更改为float?

如何将Apex 20.1中的列类型从varchar更改为float?
EN

Stack Overflow用户
提问于 2020-04-11 22:04:19
回答 1查看 607关注 0票数 0

我将Excel电子表格导入到Apex20.1中。我的几个专栏被格式化为货币。30美元,但它们都是作为varchar进口的。许多单元格是空的,所以可能这就是为什么它没有自动识别列类型的原因。

在加载数据之前,似乎也没有改变表定义的方法。

将其更改为数字类型(?),我是否需要添加另一列,将原始列中的数据重新定义为浮点数,删除第一列,然后将新列重命名为原始名称?

我也想截断一些varchar(4000)到varchar(100),但这是另一个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-12 06:56:41

如果列看起来与$30完全一样,那么是的--它是一个字符串,而不是数字,因此Oracle创建了一个VARCHAR2列。如果您在使用Apex之前删除了Excel中的格式,那么它将是一个NUMBER

现在,是的-正如你说的:

  • 创建一个新列
  • update表,并将新列设置为旧列
  • 的数值,将旧列
  • 重命名新列到“旧/原始”名称

F 212

或者,或者(从第3点)

空旧column

  • modify --其datatype

  • move数据--返回到
  • 中,
  • 删除新列

varchar2(4000)列截断为(100):首先将其内容缩短为100个字符,然后修改其数据类型:

代码语言:javascript
运行
复制
update your_table set that_column = substr(that_column, 1, 100);
alter your_table modify that_column varchar2(100);

因为这样的问题,我宁愿

  • 重新创建目标表(使用create table命令),将每个列的数据类型指定为
  • 加载文件内容到这样的表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61164287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档