如何在 SQL 中将列数据类型更改为 DOUBLE?

Posted

技术标签:

【中文标题】如何在 SQL 中将列数据类型更改为 DOUBLE?【英文标题】:How to change column data type to DOUBLE in SQL? 【发布时间】:2017-02-20 06:37:04 【问题描述】:

我想使用以下语句更改特定表的现有列的​​数据类型:

ALTER TABLE tablename MODIFY columnname DOUBLE; 

但它会抛出以下错误

SQL 错误:ORA-00905:缺少关键字 00905。00000 -“缺少关键字” *原因:*行动:

任何人都可以帮助避免此错误或帮助找到此错误的根本原因吗?谢谢

【问题讨论】:

您标记了 mysql,但错误看起来像 Oracle 的 相应更改。 在 oracle 中使用 BINARY_DOUBLE 作为双精度数据类型。看我的回答。 【参考方案1】:

我想你想要BINARY_DOUBLE:

ALTER TABLE tablename MODIFY columnname BINARY_DOUBLE;

【讨论】:

【参考方案2】:

看起来“DOUBLE”不是有效的 PLSQL 关键字。请参阅以下文章中的表 4 - 1:

https://docs.oracle.com/cd/A57673_01/DOC/server/doc/PLS23/ch4.htm#plsql%20tabs

请尝试“浮动”。希望对您有所帮助。

【讨论】:

【参考方案3】:

你应该使用NUMBER数据类型,但是这个必须是NULL才能改

ALTER TABLE tablename MODIFY columnname NUMBER; 

【讨论】:

【参考方案4】:

ALTER TABLE tablename MODIFY columnname double;

【讨论】:

以上是关于如何在 SQL 中将列数据类型更改为 DOUBLE?的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL 中将行更改为列

如何在laravel迁移中将数据类型float更改为string

在 PostgreSQL 中将数据类型“Varchar”更改为“TimeStamp”

如何在 Amazon Redshift 中将列从字符串更改为日期?

在 Pyspark 中将列类型从字符串更改为日期

如何在oracle中将列varchar更改为clob