关于视图表 类型转换报错的问题

Viewed 64

我的数据是
创建Catalog的方式创建的视图
首先是
drop catalog testsys;
create catalog testsys PROPERTIES (
"type"="jdbc",
"user"="user",
"password"="password",
"jdbc_url" = "jdbc:postgresql://192.168.1.10:5432/testsys",
"driver_url" = "postgresql-42.5.1.jar",
"driver_class" = "org.postgresql.Driver"
);

然后 创建视图

create view view_dwd_t_bd_account_df as select orgfnumber from testsys.dwd_t_bd_account_df;

然后 使用的时候就会发现问题
如果 在where 里面 使用了 cast 是会报错的

select * from view_dwd_t_bd_account_df
where cast(orgfnumber as int ) >= 1
;
image.png

在select 里面使用 是没有问题的

select cast(orgfnumber as int ) from view_dwd_t_bd_account_df
;
image.png

where cast( as date) 是可以的
image.png

where cast( as decimal) 是不可以的
select *
from view_dwd_t_bd_account_df
where cast(orgfnumber as decimal(20,10)) >= cast(1 as decimal(20,10))
;
image.png
如果放在select 里面 都是正常使用的
image.png

2 Answers

我测试了一下 关闭之后也还是不行的image.png
新增这个配置之后还是不行 是报错的
image.png

image.png
看起来,2.0.3是没有这个问题的