如何在SQL Server Management Studio中键入新行字符

Ron*_*rby 39 sql-server ssms character-encoding

在打开的数据表的"datagrid"视图中,如何直接在SSMS中将新行字符键入nvarchar字段?

有alt代码吗?

Bra*_*adC 29

你不能.

请改用"新查询"窗口,并进行手动更新:

UPDATE mytable
SET textvalue = 
'This text
can include
line breaks'
WHERE rowid = 1234
Run Code Online (Sandbox Code Playgroud)

  • -1,因为这实际上是一个错误的答案.有可能这样做.请参阅下面有关复制/粘贴的答案.这样做是否"优先"是另一个问题,但这不是问题. (6认同)
  • +1因为我从谷歌搜索"管理工作室换行符"来这里解决了我的问题. (2认同)
  • 在SQL Server中,``CHAR(10)+ CHAR(13)= \ n \ r` (2认同)

mar*_*ltx 16

您可以从使用UNIX样式行结尾(CR + LF)的文本编辑器中粘贴行.我用Notepad ++.首先转到设置/首选项/新文档,然后将格式从Windows更改为Unix.然后打开一个新文档,键入您的行,并将它们复制到SSMS中.

  • CR + LF不是windows行结束吗?Unix只使用LFhttp://en.wikipedia.org/wiki/Newline#Representations (3认同)

And*_*mar 9

您可以在记事本中准备文本,然后将其粘贴到SSMS中.SSMS不会显示换行符,但它们就在那里,因为您可以使用select进行验证:

select *
from YourTable
where Col1 like '%' + char(10) + '%'
Run Code Online (Sandbox Code Playgroud)

  • 我也试过这个.它对我不起作用. (4认同)

小智 8

char(13)或char(10)都可以工作.但建议使用char(13)+ char(10)

  • char(10)= \n - 新行
  • char(13)=\r - 转到行的开头

  • 这不回答如何在SMSS中键入新行字符. (4认同)
  • 但这是问题上下文中有用的信息。 (2认同)

Tấn*_*ang 5

在 SSMS 中,您不能使用 select 打印新行,只能使用 PRINT 代替

DECLARE @text NVARCHAR(100)
SET @text = concat(N'This is line 1.', CHAR(10), N'This is line 2.')
PRINT @text
Run Code Online (Sandbox Code Playgroud)