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

在打开的数据表的“datagrid”视图中,如何直接在SSMS中将新的行字符input到nvarchar字段中?

有一个ALT代码?

你不能。

改为使用“新查询”窗口,然后执行手动更新:

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

您可以从使用UNIX样式行尾的文本编辑器(CR + LF)中粘贴行。 我使用记事本++。 首先进入设置/首选项/新build文档,并将格式从Windows更改为Unix。 然后打开一个新文档,input你的行,并将其复制到SSMS。

字符(13)或字符(10)将工作。 但是build议使用char(13)+ char(10)

  • char(10)= \ n – 换行
  • char(13)= \ r – 转到行首

您可以在记事本中准备文本,并将其粘贴到SSMS中。 SSMS不会显示换行符,但他们在那里,你可以用select来validation:

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

我最初遇到了麻烦(不知道为什么),但是我终于得到了以下与SSMS for SQL Server 2008一起工作。

在varchartypes列中插入ALT-13和ALT-10(音乐符号和方块出现并保存,当您离开该行时)。 最初你会在离开它后在行左边得到一个警告(!)。 只要重新执行你的SELECT语句。 符号和警告将消失,但CR / LF被保存。 如果您希望文本在HTML中正确显示,则必须包含ALT-13。 要快速确定这是否工作,将保存的文本从SSMS复制到记事本。

另外,如果你不能得到这个工作,你可以从一个nvarchar列开始做同样的事情。 然而,符号将被保存为文本,所以当你完成将符号转换为CR / LF时, 必须将该列转换为varchar。

如果你想复制和粘贴来自其他来源(另一行或表格,HTML,记事本等)的文本,并没有在第一个CR截断你的文本,我发现解决scheme(程序员的记事本)在下面的链接适用于使用varchar&nvarchar列types的SQL Server 2008的SSMS。

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

这篇文章的作者(dbaspot)提到了创buildSQL查询的一些东西 – 不确定他的意思。 只要按照关于程序员的记事本的信息,您可以复制和粘贴到SSMS和从SSMS粘贴文本,并保留LF的方式(使用程序员的记事本,而不是记事本)。 要使文本正确显示在HTML中,您必须将CR添加到复制到SSMS的文本中。 执行此操作的最佳方法是使用REPLACE函数执行UPDATE语句来添加CR,如下所示:

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

我使用INSERT'a'+ Char(10)+'b'到任何地方

罗尼,

数据网格似乎在吞咽任何粘贴换行符的尝试,包括使用ALT + 010。 微软并没有列出任何帮助的快捷键。 普通嫌疑犯

 <ctrl>enter, <alt> enter, <ctrl><alt> enter, <shift> enter, etc 

不像你指出的那样工作。

为了logging,如果您正在进行Web开发,无论如何都不会在浏览器中显示换行符(它们被解释为额外的空格,并被忽略)。 我不得不用换行换行

 <br> 

到处都是我想要在浏览器中显示换行符(文本区域将接受换行为可用input)。

即使你可以插入换行符,我也不认为SSMS中的数据网格视图能够显示它。

尝试使用MS Access。 创build一个新文件,然后select“使用现有数据的项目”模板。 这将创build.adp文件。

然后,只需打开您的表格,然后按Ctrl + Enter换行。

从剪贴板粘贴也正常工作。

这适用于我(查看结果为文本 – 结果为网格隐藏换行符)

 select ' ab ' 

你正在讨论右键单击表格并select“编辑前50行”,对吧?

我试过[Ctl] [Enter]和[Alt] [Enter],但都没有工作。

即使当我用CR / LF(使用标准的INSERT语句)插入数据时,它也会用一个代表控制代码的矩形在一行中显示出来。

如果你想在网格视图中直接input数据(大概是右键单击表名并select打开表格),那么你可以input你的Unicodestring,只要你想要一个回车键入13数字键盘。

那将是Alt + 13。 这只适用于数字小键盘,不适用于键盘顶部的数字键。 回车将被存储为一个正方形

如果在行或另一行中存在换行符, 可以这样做。

select代performance有换行符的方块,将其复制(control-C),然后将其粘贴(control-V)到您想要的位置。

这有点俗气,但实际上我确实在SSMS 2008中工作,我无法得到任何其他的build议(control-enter,alt-13或任何alt – ##)的工作。

我发现简单的方法来做不可重复的更新是使用MS Access并创build一个链接表,然后根据需要更新数据。 我猜MS Access团队不会和SMSS团队交谈:)

我尝试使用Excel工作表input一个新的行字符。 我通过在Excel中的空白单元格下面写入“abc”来input数据,然后使用包含“abc”的单元格上方的空单元格和包含数据的单元格更新我的数据库。 我复制粘贴在我的SSMS细胞。 它为我工作