无法在字符串末尾添加字符串

时间:2013-02-18 09:55:02

标签: sql oracle

我有这个问题:

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服务器中,可以通过在Join:

之后添加它来完成
+(SUBSTRING(p1.NAME,[length], len(p1.PA_NAME)) )

但在Oracle中,它不会向字符串添加字符串。我确信我错过了很小的东西。

2 个答案:

答案 0 :(得分:2)

Oracle中的串联是使用||

完成的
p2.NAME like '%TFrom%' || substr(p1.name,-1)

答案 1 :(得分: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;