带回车的表格中的数据?

时间:2008-09-26 13:59:15

标签: sql sql-server

在SQL SERVER中是否可以在表中存储带回车符的数据,然后使用回车符再次将其检索回来。

例如:

insert into table values ('test1 

test2

test3

test4');

当我检索它时,我收到一行消息

test1 test2 test3 test4

回车被视为单个字符。

有没有办法获得回车或它的存储方式?

感谢帮助人员!!!

编辑:我之前应该解释一下。我从Web开发(asp .net)获取数据,我只是将其插入表中。我可能没有做任何数据操作..只需插入。

我将数据返回到应用程序开发(C ++),可能是某些数据或报表查看器。

我不想操纵数据。

9 个答案:

答案 0 :(得分:25)

您可以将Carriage return存储在数据库中。这里的问题是您使用SQL Server Management Studio来显示查询的结果。您可能已将其配置为在网格中显示结果。更改SSMS的配置以将结果显示到文本,您将看到回车。

在查询窗口中右键单击 - >结果 - >结果到文本

再次运行您的查询。

答案 1 :(得分:6)

INSERT INTO table values('test1' + CHAR(10) + 'test2' + CHAR(10) + 'test3' + CHAR(10) + 'test4')

这应该这样做。要查看效果,请将查询结果窗口切换为纯文本输出。

此致

答案 2 :(得分:4)

IIRC,使用chr(13)+ chr(10)应该有效。

insert into table values ('test1' + chr(13) + chr(10) + 'test2' );

答案 3 :(得分:2)

您能否澄清一下如何从数据库中检索数据?你用什么工具?数据可能包含回车符,但如果您在网格中获得结果则不会显示(在文本选项中尝试结果)

答案 4 :(得分:0)

您可能需要输入“\ n”而不是文字回车。

答案 5 :(得分:0)

回车按原样存储。这里的问题是你的SQL客户端不理解它。如果您对此数据进行了原始转储,您将看到数据中存在回车符。

我在工作中使用DBArtisan,似乎工作正常。但是,isql似乎与您报告的问题相同。

答案 6 :(得分:0)

这是HTML或查询分析器中的结果吗?如果它是HTML格式的,请查看源代码,它可能看起来正确,在这种情况下,您必须使用<br />标记替换crlf字符。

我也认为曾经有一些属性可以添加到HTML textarea以强制它以某种方式发送回车 - 软或硬?我没有看过那个,也许有人可以这样做。

但SQL Server确实在我的经验中保存了两个字符。事实上,我完全按照你在几天前使用SQL 2005所描述的那样做,每个换行符都有两个不可打印的字符。

答案 7 :(得分:0)

我正在使用SQLite存储多行texbox,并在检索存储的数据并在任何对象(txtbox,标签等)上显示时得到类似的东西。无论何时我将数据复制到NotePad /写字板或类似的东西,我都可以看到回车被存储了,它们根本没有显示在ASP页面中。

在这里找到答案:

http://www.mikesdotnetting.com/Article/20/How-to-retain-carriage-returns-or-line-breaks-in-an-ASP.NET-web-page

希望有所帮助。

我的代码示例:

C#:

    protected void Page_Load(object sender, EventArgs e)
    {
        String str = Request.QueryString["idNoticia"];
        this.dsNewsDetails.FilterExpression = "idNoticia=" + str;
    }

ASPX:

    <asp:Label ID="BodyLabel" 
         runat="server" style="font-size: medium" 
         Text='<%# Eval("body").ToString().Replace(Environment.NewLine,"<br/>") %>' Width="100%" />

注意:如提供的链接中所述,Environment.NewLine适用于C#和VB

答案 8 :(得分:0)

如果将输出切换为纯文本,则可以在不同的行中看到数据。 要切换输出,请转到Tools>Options>Query Results并将默认目标设置为:text。 您也可以在执行查询之前尝试点击Ctrl+p。希望它有所帮助。