在同一 table 中连接 2 列

Concatenating 2 columns in the same table

在下面的尝试中,我试图连接来自同一 table 的两列,当我尝试 运行 时它显示 "invalid number of arguments"。

 SELECT  Concat(b.OB,',',C.OB) AS LANE 
  ,(
    CASE
            WHEN a.vehicle_class LIKE '601%'
            THEN 'Small'
            WHEN a.vehicle_class LIKE '602%'
            THEN 'Large'
            WHEN a.vehicle_class LIKE '9%'
            THEN 'TOW'
            ELSE 'ERROR'
    END) AS vehicle_size
    , a.*
FROM
    (SELECT *
    FROM    reserved

    ) a
  , location b
  , location c
  , mre_system_parameters SYS
WHERE   b.ob_location_id = a.ob_location_id
AND c.ob_location_id = a.ib_location_id
AND rental_date      > sys.cpd - 20000
AND rental_date     <= sys.cpd
AND a.vehicle_class  LIKE '6%'
AND booking_count    = 1;

COMMIT;

Oracle 的 concat 严格采用两个参数,而不是您在查询中使用的三个参数。您可以只使用一系列连接运算符 (||) 代替:

b.OB || ',' || C.OB AS LANE 

在oracle中使用||运算符进行连接更方便。因此,

b.OB || ',' || C.O