postgresql 在Redshift中过滤特定文本

snvhrwxg  于 2022-12-03  发布在  PostgreSQL
关注(0)|答案(1)|浏览(132)

我正在尝试从包含SQL脚本的文本列中筛选表的名称。示例如下:

**columnA**        **ColumnB**
dt_1203       CREATE OR REPLACE VIEW public.demand_fcst_view AS
              SELECT id,region,snapshotday,demand
              FROM dtnet.dly_demand_fcst_all a

dt_1204       CREATE OR REPLACE VIEW public.demand_fcst_view AS
              SELECT id,region,snapshotday,demand
              FROM salesfrc.dly_demand_fcst_all

dt_1204       CREATE OR REPLACE VIEW public.demand_fcst_view AS
              SELECT id,region,snapshotday,demand
              FROM salesfrc.dly_demand_fcst_all_output

我只希望输出文本为“dly_demand_fcst_all”的行,而不管表福尔斯哪个模式,也不管表重复了多少次。
我尝试了查询ColumnB like '%dly_demand_fcst_all',它返回零行。
我错过了什么?

iyr7buue

iyr7buue1#

您可能在ColumnB的末尾有一些符号。您可以尝试使用此过滤器,以便仅过滤dly_demand_fcst_all表,而不过滤dly_demand_fcst_all_

where column_b like '%dly_demand_fcst_all%'
and column_b not like '%dly_demand_fcst_all\\_%'

或者您可以尝试TRIM功能,用于删除空格

where trim(column_b) like '%dly_demand_fcst_all'

相关问题