首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于更新列大小的teradata查询

用于更新列大小的teradata查询
EN

Stack Overflow用户
提问于 2016-04-23 12:53:35
回答 2查看 1.2K关注 0票数 0

我有一个表名“货币”,它有一个小数点(12,6)类型的列名"cur“。我想把这个大小增加到十进制(12,8)。请建议我在Teradata中查询这个问题。我不想泄露以前的数据。

EN

回答 2

Stack Overflow用户

发布于 2016-04-23 13:06:40

不允许更改十进制的精度(如果这是一个NUMBER,则可以)。

最好的办法可能是:

  • 使用正确的数据类型创建新表
  • 把旧的融入新的
  • 放下旧的,重新命名旧的

当然,您还应该将小数位数提高到十进制(14,8),否则可能会出现数字溢出错误。

票数 0
EN

Stack Overflow用户

发布于 2020-10-16 21:28:40

Update:感谢@denoeth给出的简单重命名temp列的提示。比需要双拷贝要好得多。

或者通过临时列:

代码语言:javascript
复制
ALTER TABLE My.Table ADD temp varchar(100);
UPDATE      My.Table SET temp = my_column;
ALTER TABLE My.Table DROP my_column;
ALTER TABLE My.Table RENAME temp TO my_column;

这将更改表的列布局(将my_column放到表的“后退”位置)。

如果您的工作环境中的列排序是硬编码在任何地方,这可能是致命的!

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

https://stackoverflow.com/questions/36811094

复制
相关文章

相似问题

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