文档解释 42P18: indeterminate_datatype 错误说明 错误“indeterminate_datatype” 是意即在postgresql中定义的数据类型的未知性,也称为未知(undecided)数据类型。它通常发
42P18: indeterminate_datatype
错误说明
错误“indeterminate_datatype” 是意即在postgresql中定义的数据类型的未知性,也称为未知(undecided)数据类型。它通常发生在一个表中存在多个列具有不同的数据类型时。为了避免在查询过程中抛出这个错误,表单应该写正确的相关语句,且在每一列和每一表都应该正确指定列的数据类型。
常见案例
当我们在一个表中定义若干个列时,并且指定了每一列的数据类型,但是其中一个列在查询处理时却没有选择正确的数据类型时,就会抛出此错误。此错误的发出是由于Postgresql框架的设计,它会在表单编译完成后,前去表单中某列的数据类型是否有效。
解决方案
最佳的解决方案是遵守列的数据类型的规范,确保每一列的数据类型在SQL中都正确定义,有效的数据类型才能够正确的引用。当定义表时,使用ALTER TABLE语句来修改表单中列的数据类型。或者,您也可以使用DROP COLUMN语句,将与indeterminate_datatype 错误有关的列删除,再添加上正确的列并使用正确的数据类型。
另一种解决方法是使用CASE表达式。CASE表达式是基于列列值对其进行类型转换,可以使用CAST将字符串和数字强制转换成需要的数据类型,像这样:
CASE WHEN = 1 THEN CAST( AS INTEGER) ELSE CAST( AS DOUBLE PRECISioN) END
可以使用函数如果字段的类型用于给表一个新的数据类型,像这样:
ALTER TABLE
--结束END--
本文标题: PostgreSQL 42P18: indeterminate_datatype 报错 故障修复 远程处理
本文链接: https://lsjlt.com/news/528775.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0