Как агрегировать строку (конкатенировать) с Oracle 10g SQL?
агрегация строк в Oracle 10g
comment
Агрегация и конкатенация — не совсем одно и то же. Что вы имели в виду?
- person FrustratedWithFormsDesigner   schedule 10.03.2010
comment
то, что я имел в виду, заключалось в агрегировании, где функция агрегирования — это конкатенация. скажем, таблица данных выглядит следующим образом: текст класса A TEXT1 A TEXT2 B TEXT3 B TEXT4 Я хотел бы, чтобы группа по запросу выбирала класс, функцию (текст) из TABLE группировала по классам, что приводило к чему-то вроде: A TEXT1, TEXT2 B TEXT3 , ТЕКСТ4
- person acroa   schedule 16.03.2010
Ответы (5)
Вы можете попробовать функцию сбора:
http://www.oracle-developer.net/display.php?id= 306а>
Некоторые другие трюки здесь:
http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php
... Если вы на самом деле имеете в виду конкатенацию, а не агрегацию, тогда воспользуйтесь советом всех остальных и используйте оператор ||
между двумя строками:
select 'abc'||'def' from dual;
person
FrustratedWithFormsDesigner
schedule
10.03.2010
Как ни странно, это "||" оператор:
field1 || field2
person
Mike Mooney
schedule
10.03.2010
Вы можете использовать оператор ||
. Пример: 'First' || 'Second'
Также функция CONCAT(var1, var2)
позволяет объединить два символа VARCHAR2. Пример: CONCAT('First', 'Second')
person
Ajadex
schedule
10.03.2010
Существует недокументированная функция wm_concat
, которую вы можете использовать. Другим вариантом было бы свернуть самостоятельно. LISTAGG
не доступен в 10 г, я думаю.
person
SQB
schedule
06.11.2013