Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Результат запроса в CSV вид.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Результат запроса в CSV вид я сделал конкатенацией (агрегацией ) строк.
мне бы хотелось метод по красивее. Мне не надо создавать файл. Мне надо что бы это было поле nvarchar(max).

Есть какой-нить аналог "for xml" ?

Заранее спасибо.
24 ноя 09, 15:40    [7971412]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
FAQ + сомменты.
24 ноя 09, 15:44    [7971466]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Le Peace
FAQ + сомменты.
Про FOR XML NIIIK вроде бы сразу сказал. Но что надо, всё равно не до конца понятно.
Может, как-то так:
SELECT
      QUOTENAME(ISNULL(''''+CAST(Field1 AS NVARCHAR(MAX))+'''','NULL'),'"')
+N','+QUOTENAME(ISNULL(''''+CAST(Field2 AS NVARCHAR(MAX))+'''','NULL'),'"')+...
+N','+QUOTENAME(ISNULL(''''+CAST(FieldN AS NVARCHAR(MAX))+'''','NULL'),'"')
FROM [Table];
??
24 ноя 09, 16:01    [7971641]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
iap,

мда, а у Вас как раз конкатенация - что автору и не нравится :)
24 ноя 09, 16:23    [7971859]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Le Peace
iap,

мда, а у Вас как раз конкатенация - что автору и не нравится :)
У меня конкатенация полей в строке!
А не нравится конкатенация строк...
24 ноя 09, 16:41    [7972066]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Ну да, по сути это конкатенция
Самый быстрый метод всё равно "for XML" (там хоть она только на уровне одной строки)

но я там не могу решить проблему что бы "Энтер" был не 2
24 ноя 09, 16:46    [7972124]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
К стате, когда я просто конкатенирую Энтер к каждой строке

declare @Enter nvarchar(2);
set @Enter = '
';
....

select ...+ @Enter


У меня и Энтер есть после возвращения к varchar(max) и симовлы "2 "

Кроме replace идей нету ...
24 ноя 09, 16:51    [7972179]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса в CSV вид.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
NIIIK
К стате, когда я просто конкатенирую Энтер к каждой строке

declare @Enter nvarchar(2);
set @Enter = N'
'; /*или NCHAR(13)+NCHAR(10);*/
....

select ...+ @Enter


У меня и Энтер есть после возвращения к varchar(max) и симовлы "2
"

Кроме replace идей нету ...
А вообще, до сих пор непонятно, что надо-то?
На пример данных хотя бы посмотреть.
24 ноя 09, 17:22    [7972459]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить