Oracle SQL,连接多个列+添加文本
所以我基本上想显示这个(整列在一列):
我喜欢[型柱]蛋糕与[结冰柱]和[水果柱]。
结果应该是:
Cake_Column ---------------- I like chocolate cake with whipped_cream and a cherry. I like strawberry cake with vanilla_cream and a lemon_slice. etc. etc.
我需要某种types的TO_CHAR语句([列]“一些文本”[列])“new_column_name”;
我应该知道什么?
在Oracle中有两个连接string的选项:
- CONCAT
- 使用
||
CONCAT示例:
CONCAT( CONCAT( CONCAT( CONCAT( CONCAT('I like ', t.type_desc_column), ' cake with '), t.icing_desc_column), ' and a '), t.fruit_desc_column)
使用||
例:
'I like ' || t.type_desc_column || ' cake with ' || t.icing_desc_column || ' and a ' || t.fruit_desc_column
你尝试过||吗? 操作员?
检查了这一点>>>
select“我喜欢”|| type_column || '与'ect ….
下面的查询对我有用@Oracle 10G —-
select PHONE, CONTACT, (ADDR1 || '-' || ADDR2 || '-' || ADDR3) as Address from CUSTOMER_DETAILS where Code='341';
O / P –
1111 abc@gmail.com 4th street-capetown-sa
尝试这个:
SELECT 'I like ' || type_column_name || ' cake with ' || icing_column_name || ' and a ' fruit_column_name || '.' AS Cake_Column FROM your_table_name;
它应该将所有数据连接为一个名为“Cake_Column”的单个列条目。
从Oracle 11开始,有一个名为LISTAGG的新function,可以完成与您在此处所需的类似的function。
例:
SELECT LISTAGG(last_name,';') WITHIN GROUP(ORDER BY hire_date,last_name)“Emp_list”, MIN(hire_date)“最早” FROM employees WHERE department_id = 30; Emp_list最早 -------------------------------------------------- ---------- --------- Raphaely;邱; 托比亚斯; 百达; 冰室; Colmenares 07-DEC-02
Oracle文档LISTAGG