Невозможно экспортировать 100000 строк в переменную с помощью вещи - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь получить 100 000 записей в одном столбце, но получаю только 160 строк. Я использую это для экспорта в CSV.Пожалуйста, помогите

     declare @STR_EXPORT_CSV nvarchar(max);
     SELECT @STR_EXPORT_CSV=STUFF(( SELECT '\r\n"'+f.UniqueId+'","'+ISNULL(f.LastName,'')+'","'+ISNULL(f.Firstname,'')+'","'+CONVERT(VARCHAR(20),ISNULL(f.Age,0))+'","'+
 ISNULL(CONVERT(VARCHAR(10),CONVERT(DATE,f.birthdatetime),101) +' '+CONVERT(VARCHAR(5),CONVERT(TIME,f.birthdatetime),108),'')+'","'+
ISNULL(CONVERT(VARCHAR(10),CONVERT(DATE,f.death_datetime),101) +' '+CONVERT(VARCHAR(5),CONVERT(TIME,f.death_datetime),108),'')+'","'+
CONVERT(VARCHAR(20),ISNULL(f.genderName,''))+'","'+ISNULL(f.babyRefNo,'')+'","'+ISNULL(f.PresentAddress,'')+'","'+ISNULL(f.PermanentAddress,'')+'","'+ISNULL(f.vaccinationStatus,'')+'","'+ISNULL(S.Vacc_Desc,'')+'","'+ISNULL(CONVERT(VARCHAR(10),CONVERT(DATE,s.Schedule_Date),101),'')+'","'+ISNULL(CONVERT(VARCHAR(10),CONVERT(DATE,s.Actual_Date),101),'')+'","'+ISNULL(s.Vacc_Status,'')+'"' FROM ##FINAL_VACC_SCR_PATIENTS_EXPORT f 
LEFT JOIN ##VACC_SCR_SAMPLE_CARD_DATA s on S.PatientId=f.patientId
order by RegionName asc, HospitalName asc, birthdatetime desc, uniqueId desc for xml path('')),1,4,'')

SELECT @STR_EXPORT_CSV;

1 Ответ

0 голосов
/ 19 сентября 2019

Попробуйте изменить тип хотя бы в одном cast, , который вы должны явно привести к varchar(max), даже если ваш variable объявлен как varchar(max).строка из 8000 символов.

declare @s varchar(max);

set @s = replicate('a', 10000);
select len(@s) as len_;
--len_
---------
--8000

set @s = replicate(cast('a' as varchar(max)), 10000);
select len(@s) as len_;

--len_
--------
--10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...