Oracle:在like子句()中使用来自CONCAT()的结果

时间:2011-06-25 00:47:24

标签: sql oracle

我试图在oracle中的一个查询中使用concat结果:

Select * 
  from T1 
       join T2 
       on T1.f1 like CONCAT(T2.f2,'%')

这不会为T2.f2行生成NULL值的结果。我认为会产生像T1.f1这样的'%'

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我不完全确定你在尝试什么;
但是,要解决您遇到的具体问题,请尝试COALESCE

SELECT * 
  FROM T1 
       JOIN T2 
       ON T1.f1 LIKE CONCAT( COALESCE( T2.f2, '' ), '%' );

答案 1 :(得分:-1)

以下查询可以帮助您

SELECT * 
  FROM PINKY1 
       INNER JOIN PINKY2 ON NOTES LIKE VAL1 
 WHERE NOTES LIKE VAL2 
   AND NOTES LIKE VAL3 
   AND NOTES LIKE VAL4 
   AND NOTES LIKE VAL5