我的数据是
创建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
;
在select 里面使用 是没有问题的
select cast(orgfnumber as int ) from view_dwd_t_bd_account_df
;
where cast( as date) 是可以的
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))
;
如果放在select 里面 都是正常使用的