2013-02-18 143 views
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中它不會向字符串添加字符串。我確定我錯過了很小的事情。

+0

在這裏看到:HTTP:/ /stackoverflow.com/questions/278189/what-is-the-string-concatenation-opera tor-in-oracle – Guffa 2013-02-18 09:58:37

回答

2

Oracle中的串聯與||完成:

p2.NAME like '%TFrom%' || substr(p1.name,-1) 
+0

這不起作用。 :(我得到一個無效的標識符錯誤 – Slim 2013-02-18 11:36:58

+0

你有什麼不同的錯誤。上面的語法是好的。 – 2013-02-18 11:41:21

+0

明白了!謝謝! – Slim 2013-02-18 11:51:24

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;