Ho una colonna di SQL Server di tipo XML
contenente alcuni record con più di 8000 caratteri.Come si converte un campo XML con più di 8000 caratteri in una stringa?
Vorrei convertire questa colonna in varchar
.
Non sono interessato al troncamento (i primi 8000 caratteri vanno bene).
Tuttavia, ogni volta che provo CONVERT(varchar(8000), Content)
ottengo un errore:
Target string size is too small to represent the XML instance
Quando provo CONVERT(varchar(MAX), Content)
ottengo un errore:
String or binary data would be truncated
Quando provo CONVERT(varchar(20000), Content)
ottengo un errore:
The size (20000) given to the type 'varchar' exceeds the maximum allowed for any data type (8000)
Quando provo CONVERT(text, Content)
Viene visualizzato un messaggio di errore:
Explicit conversion from data type xml to text is not allowed
C'è una soluzione?
L'esecuzione di 'varchar (max)' dovrebbe funzionare correttamente. [Come questo fa.] (Http://data.stackexchange.com/stackoverflow/query/75495). –
Forse è la configurazione quindi ... Sicuramente ho un errore. –
@ MikaelEriksson - Posta come risposta e la accetterò. Ho fatto un idiota (il particolare contesto in cui stavo usando convert in ha causato un problema che ha fatto il punto). –