Necesito concatenar 2 columnas ntext en una. No puedo convertirlos a nchar, porque ambos contienen cadenas de más de 4000 caracteres. ¿Hay alguna manera de hacer esto en SQL Server 2005?Concatene ntext en SQL Server 2005
Respuesta
UPDATE
YourTable
SET
Field = CAST((CAST(field1 AS NVARCHAR(MAX)) + CAST(field2 AS NVARCHAR(MAX))) AS NTEXT)
WHERE
(your condition here)
Pero en realidad - con SQL Server 2005, NTEXT
se vuelve obsoleto y lo más probable es eliminar en SQL Server 2008 R2 o una versión posterior. NVARCHAR(MAX)
es el sucesor lógico, dándote todos los NTEXT
que jamás hayas dado, ¡y mucho más!
Si sus campos serían NVARCHAR(MAX)
desde el principio, usted podría escribir:
UPDATE
YourTable
SET
field = field1 + field2
WHERE
(your condition here)
y acabar de una vez!
Le sugiero que actualice sus tablas para usar NVARCHAR(MAX)
en lugar de NTEXT
.
Marc
Convertirlos a nvarchar(max)
para la concatenación. Es el reemplazo de SQL 2005 para ntext
y permite todas las operaciones habituales de nvarchar
.
No se pueden convertir debido al riesgo de romper la aplicación: MS TFS. Solo estoy tratando de hackear algunos campos. – MariusCC
Hay una manera de actualizar la columna ntext:
DECLARE @memo binary(16)
SELECT
@memo = TEXTPTR(field1)
FROM
YourTable
WHERE
(your condition here)
UPDATETEXT YourTable.field1 @memo NULL 0 'Text to append'
Here son más información.
- 1. ¿Hay alguna manera de DISTINCT o agrupar por un texto (o ntext) en SQL Server 2005?
- 2. SQL Server 2008 a SQL Server 2005
- 3. SQL Server 2005 replicación
- 4. SQL Server, nvarchar (MAX) o ntext, image o varbinary?
- 5. Isoweek en SQL Server 2005
- 6. Restaurar SQL Server 2008 DB * a * SQL Server 2005
- 7. Editar sinónimos en MS SQL Server 2005
- 8. Consultas jerárquicas en SQL Server 2005
- 9. Indexar varchar en MS SQL Server 2005
- 10. subconsultas en UPDATE SET (sql server 2005)
- 11. TransactionInDoubtException usando System.Transactions en SQL Server 2005
- 12. ¿Dinámicamente nombrar índices en SQL Server 2005?
- 13. unen tres tablas en SQL Server 2005
- 14. UPSERT atómico en SQL Server 2005
- 15. Números persas en SQL Server 2005
- 16. instrucción IIF en SQL Server 2005
- 17. degradación de SQL Server 2008 a SQL Server 2005
- 18. SQL Server 2008 compatibilidad con SQL Server 2005
- 19. ¿Cómo puedo encontrar caracteres Unicode/no ASCII en un campo NTEXT en una tabla de SQL Server 2005?
- 20. ¿Cómo edito un campo de texto (o ntext) en SQL Server 2000 o 2005 usando la GUI?
- 21. SQL Server 2005: interbloqueo de transacción
- 22. Acceda a TimeZoneInfo desde SQL 2005 Server
- 23. sql server 2005 - exportar datos nvarchar (max)
- 24. SQL Server 2005 - Orden de combinaciones internas
- 25. SQL Server 2005 Error 701 - sin memoria
- 26. SQL Server 2005 pérdida de precisión numérica
- 27. SQL Server 2005 ROW_NUMBER() sin ORDER BY
- 28. SQL Server 2005: ¿Por qué nombrar transacciones?
- 29. Intercalación de clientes y SQL Server 2005
- 30. MySQL vs SQL Server 2005/2008 rendimiento
Hola Marc. No quiero intentar convertirlos por el riesgo de romper la aplicación: MS Team Foundation Server. Tengo miseria suficiente sin "arreglarla". Gracias por su solución. Funcionó como magia;). – MariusCC
Bien, buen punto: nunca toque un sistema en ejecución :-) –
Hola @marc_s Creo que es posible que tenga un pequeño error tipográfico en su primer ejemplo, "NEXT" en lugar de "NTEXT". (Buena respuesta, +1 de mí) –