42 votes

Comment taper un nouveau caractère de ligne dans SQL Server Management Studio

Dans la vue "datagrid" d'une table de données ouverte, comment puis-je taper un nouveau caractère de ligne dans un champ nvarchar directement dans SSMS?

Y a-t-il un code alternatif?

29voto

BradC Points 18833

Tu ne peux pas.

Utilisez plutôt une fenêtre "nouvelle requête" et effectuez une mise à jour manuelle:

 UPDATE mytable
SET textvalue = 
'This text
can include
line breaks'
WHERE rowid = 1234
 

16voto

markltx Points 66

Vous pouvez coller les lignes à partir d'un éditeur de texte qui utilise des fins de ligne de style UNIX (CR + LF). J'utilise Notepad ++. Allez d'abord dans Paramètres / Préférences / Nouveau document et changez le format de Windows en Unix. Ouvrez ensuite un nouveau document, saisissez vos lignes et copiez-les dans SSMS.

10voto

Andomar Points 115404

Vous pouvez préparer le texte dans le bloc-notes et le coller dans SSMS. SSMS n'affichera pas les nouvelles lignes, mais elles sont là, comme vous pouvez le vérifier avec une sélection:

 select *
from YourTable
where Col1 like '%' + char(10) + '%'
 

7voto

tecfield Points 29

soit char (13) ou char (10) fonctionnerait. mais il est recommandé d'utiliser char (13) + char (10)

  • char (10) = \ n - nouvelle ligne
  • char (13) = \ r - aller au début de la ligne

2voto

mario Points 11

J'ai eu du mal au départ (je ne sais pas pourquoi) mais j'ai finalement obtenu la suite de travailler avec SSMS pour SQL Server 2008.

Insérez ALT 13 ALT-10 à l'endroit désiré dans votre texte dans une colonne de type varchar (symbole de la musique et des carrés apparaissent et enregistrer lorsque vous quittez la ligne). Au départ, vous recevrez un avertissement(!) à gauche de la ligne après l'avoir quitté. Tout simplement ré-exécution de votre instruction SELECT. Les symboles d'avertissement et disparaîtra mais le CR/LF est enregistré. Vous devez inclure ALT-13 si vous souhaitez que le texte s'affiche correctement en HTML. Pour déterminer rapidement si cela a fonctionné, copiez le texte enregistré à partir de SSMS pour le bloc-notes.

Alternativement, si vous ne pouvez pas obtenir que cela fonctionne, vous pouvez faire la même chose en commençant par une colonne nvarchar. Cependant, les symboles seront enregistrés en tant que texte de sorte que vous devez convertir la colonne de type varchar lorsque vous avez terminé pour convertir les symboles de CR/Pr.

Si vous souhaitez copier et coller du texte provenant d'une autre source (une autre ligne ou d'une table, HTML, bloc-notes, etc.) et ne pas avoir votre texte tronqué au premier CR, j'ai trouvé que la solution de (Programmer's Notepad) fait allusion au lien suivant fonctionne avec SSMS pour SQL Server 2008 à l'aide varchar & nvarchar types de colonne.

http://dbaspot.com/sqlserver-programming/409451-how-i-enter-linefeed-when-modifying-text-field-2.html#post1523145

L'auteur du post (dbaspot) mentionne quelque chose sur la création de requêtes SQL - pas sûr de ce qu'il signifie. Il suffit de suivre les instructions sur Programmer's Notepad et vous pouvez copier et coller du texte et de SSMS et de conserver l'Epa deux façons (à l'aide du Programmeur le bloc-notes, pas le bloc-notes). Le texte s'afficher correctement en HTML, vous devez ajouter de la CRs pour le texte copié dans SSMS. La meilleure façon de le faire est par l'exécution d'une instruction de mise à JOUR à l'aide de la fonction de remplacement pour ajouter des CRs comme suit:

UPDATE table_name
SET column_name = REPLACE(column_name , CHAR(10), CHAR(13) + CHAR(10)).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X