【问题标题】:Using Replace Function in Join (SQL)在 Join (SQL) 中使用替换函数
【发布时间】:2020-04-27 20:50:19
【问题描述】:

我有两个表,在这两个表中都有一个列list_id。我需要从 table2 的该列中删除特定字符才能使连接工作。请参阅下面的示例数据:

table1.list_id           table2.list_id
6353                      tb6353
3455                      tb3455 
5354                      tb5354

我的查询如下所示:

SELECT *
FROM table1
LEFT JOIN table2 ON REPLACE(table2.list_id,'tb','') = table1.list_id

但是,在Presto 中运行此查询时,我收到以下错误:'=' cannot be applied to varchar, bigint

【问题讨论】:

    标签: sql presto


    【解决方案1】:
    SELECT *
    FROM table1
    LEFT JOIN table2 ON CAST(REPLACE(table2.list_id,'tb','') AS bigint) = table1.list_id
    

    SELECT *
    FROM table1
    LEFT JOIN table2 ON REPLACE(table2.list_id,'tb','') = CAST(table1.list_id as VARCHAR)
    

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多