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_is (null),但我不相信这是一个问题,因为当它是一个空字符串时,它应该通过而不在p2_NAME字符串中添加一些东西

在 SQL Server 中,可以通过在 Join 之后添加以下内容来完成:

+(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 回答