UNION ALL,将NULL转换为双精度,Postgres

哇哇哇

在postgres中,当我尝试合并两个表时遇到一个错误,其中一个表具有Amount包含double precision数据类型的列(,而另一个表没有匹配的列,并且我希望该表中的记录仅有NULLAmount现场。

错误:

“文本类型和双精度的联合类型不能与postgres匹配”

伪代码:

SELECT * FROM (

SELECT
   t1.Amount AS 'amount',
   NULL::DATE AS 'date'
FROM Table1 AS t1
UNION ALL

SELECT
   /* next line is the issue */
   NULL AS 'amount',
   t2.Date AS 'date'
FROM Table2 AS t2

) AS FOO

我相当确定此解决方案是一个简单的转换问题,但无法通过搜索找到任何内容。我该如何做与NULL::DOUBLEpostgres中的等效

编辑::海报

从@klin接受的答案并@ a_horse_with_no_name的意见,即指向一个“历史”的Postgres投表达::语法相当于

CAST ( expression AS type )  
expression::type

并且,这是postgres数据类型的列表

克林

在Postgres中,该类型double precision也称为float8或简称float使用其中之一。

select null::double precision, null::float;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档