SQL: Insérer un saut de ligne dans la chaîne de type varchar
J'ai cherché sur StackOverflow pour toutes les solutions possibles concernant la façon d'insérer un saut de ligne dans un texte SQL de la chaîne. J'ai appelé ce lien, mais en vain. Comment insérer un saut de ligne dans un Serveur SQL de type VARCHAR/NVARCHAR chaîne
Mais aucune des solutions de travail pour moi.
C'est ce que j'essaie de faire:
insert into sample (dex, col)
values (2, 'This is line 1.' + CHAR(13)+CHAR(10) + 'This is line 2.')
Mais c'est la sortie générée: (Sélectionnez le Col de l'échantillon où dex = 2)
C'est la ligne 1. C'est la ligne 2.
C'est la sortie que je désire:
C'est la ligne 1.
C'est la ligne 2.
Je suis à l'aide de SQL server et de SSMS si cela aide.
Des idées pourquoi il ne fonctionne pas?
Si vous l'exécutez à partir de SQL Management Studio, il n'affiche pas de cette façon, sans doute, en raison des restrictions sur la façon dont les données sont présentées dans le système. Si vous le copier et le coller à un autre endroit, il sera sur deux lignes.
len(col) le CR LF
len(col) le CR LF
OriginalL'auteur 90abyss | 2016-04-13
Vous devez vous connecter pour publier un commentaire.
Bien votre requête fonctionne parfaitement bien.
SSMS par défaut affiche toutes les requêtes mettre dans l'affichage de la grille, qui n'affiche pas le caractère de saut de ligne.
De le voir, vous pouvez passer à l'affichage du texte à l'aide de
cntrl
+T
raccourci ou comme ci-dessousLes résultats que j'ai obtenu pour votre requête ci-dessous( et le travail)
OriginalL'auteur DhruvJoshi
Il fonctionne parfaitement:
LiveDemo
De sortie:
Le "problème" est
SSMS
affichage de la grille qui ignore les caractères de saut de ligne (et les autres aussi). Sinon, vous aurez des lignes différentes de la hauteur comme enExcel
.Vous pouvez observer le même comportement dans
SEDE
.LiveDemo-SEDE
LiveDemo-SEDE-TextView
De sortie:
Vous pourrait le comparer à l'aide de:
OriginalL'auteur Lukasz Szozda
La CR/LF chars sont là, c'est juste que dans le format de votre sortie, ils sont ignorés.
J'ai créé un violon pour illustrer cela, avec 2
VARCHAR
colonnes. Dans le premier, j'insère le texte sansCR/LF
, dans la seconde, je les incluresi vous exécutez la requête
Le résultat en texte brut sont:
mais si vous l'exécutez en tabulaire :
Le vérifier :
SqlFiddleDemo
OriginalL'auteur Thomas G
Un peu en retard pour cette discussion, mais dans SSMS 2016, il y a une option sur le menu Outils | Options, en vertu des Résultats de la Requête /SQL Server /Résultats sur la Grille appelée "Conserver les CR/LF sur copier ou d'enregistrer". En cochant cette case, vous permettra de copier les valeurs d'une cellule dans une grille de résultat à, disons, une autre fenêtre de requête et ont toujours les sauts de ligne.
OriginalL'auteur user2092071