0

私はこのクエリを持っています:

SELECT distinct
  substr(p1.name,-1) as index_
  p2.value as value        
FROM pks p  
  LEFT JOIN Parameter p1 on p1.ID=p.id AND p1.NAME like '%TFrom%'
  LEFT JOIN Parameter p2 on p2.ID=p.id AND p2.NAME like '%TFrom%' + substr(p1.name,-1)

WHERE p.type='singer'

私がしたいindex_のは、文字列の末尾に値を追加することp2.NAMEです。が である場合もありますindex_(null)、それが問題だとは思いません。空の文字列の場合は、p2_NAME文字列に何も追加せずに渡す必要があるためです。

SQL サーバーでは、結合の後にこれを追加することで実行できます。

+(SUBSTRING(p1.NAME,[length], len(p1.PA_NAME)) )

しかし、Oracle では文字列を文字列に追加しません。本当に小さなものが欠けていると確信しています。

4

2 に答える 2

2

Oracle での連結は次のように行われます||

p2.NAME like '%TFrom%' || substr(p1.name,-1)
于 2013-02-18T09:57:46.030 に答える
2

||または のいずれかで文字列を連結できますconcat

select last_name || '''s job category is ' || job_id
FROM employees 
WHERE employee_id = 152;

また

SELECT CONCAT(CONCAT(last_name, '''s job category is '), job_id) "Job" 
FROM employees 
WHERE employee_id = 152;
于 2013-02-18T09:58:15.603 に答える