2010-08-16 9 views
1

J'ai un type 'texte' dans une table SQL (BigNote), et un nouveau champ nvarchar (2000) (LittleNote).T-SQL - champ de texte à nvarchar

Je dois enregistrer les 2000 premiers caractères de @BigNote dans le champ LittleNote dans une procédure stockée. Quelqu'un peut-il partager quelques pensées? Je dois vérifier: - nulls? - la longueur BigNote et saisir seulement la quantité exacte?

Il fonctionne en attribuant simplement LittleNote = @BigNote, mais je veux éviter les problèmes lorsque le texte est trop grand, etc ...

Une fois que nous publierons une mise à jour de l'application, nous allons gérer cela avec plus d'élégance , mais en attendant, nous devons obtenir un champ non-texte avec ces données dans la base de données.

Répondre

13

vous pouvez utiliser

LittleNote = CONVERT(NVARCHAR(2000), @BigNote) 

ou SUBSTRING

LittleNote = SUBSTRING(@BigNote, 1, 2000) 
+0

Merci - a parfaitement fonctionné. – aSkywalker

+0

+1 pour spécifier la taille de nvarchar, comme le fait 'CONVERT (nvarchar, @BigNote)' sans taille tronquera le texte à 255 caractères. –

Questions connexes