2008-09-26 3 views
9

SQL Server에서 캐리지 리턴이있는 데이터를 테이블에 저장 한 다음 캐리지 리턴을 사용하여 다시 검색 할 수 있습니까?캐리지 리턴이있는 테이블의 데이터는 무엇입니까?

예 : 나는 그것을 검색 할 때

insert into table values ('test1 

test2 

test3 

test4'); 

, 나는 TEST1 TEST2 TEST3 TEST4

캐리지 리턴이 단일 문자로 처리됩니다 라인

에 메시지가 표시됩니다.

캐리지 리턴을 얻는 방법이나 저장하는 방법이 있습니까?

도움 주셔서 감사합니다.

편집 : 이전에 설명 했어야합니다. 웹 개발 (asp .net)에서 데이터를 가져 와서 테이블에 삽입합니다. 나는 어떤 데이터 조작도하지 않을 수도 있습니다. 그냥 삽입하십시오.

데이터를 앱 개발 (C++)으로 반환하며 일부 데이터 또는 보고서 뷰어 일 수 있습니다.

데이터를 조작하고 싶지 않습니다.

답변

1

데이터베이스에서 데이터를 다시 검색하는 방법을 명확하게 설명해 주시겠습니까? 어떤 도구를 사용합니까? 데이터에는 캐리지 리턴이 포함되어있을 수 있지만 격자에서 결과를 얻으면 표시되지 않습니다 (텍스트 옵션으로 결과를 시도하십시오).

0

리터럴 캐리지 리턴 대신 "\ n"을 입력해야 할 수도 있습니다.

25

캐리지 리턴을 데이터베이스에 저장할 수 있습니다. 여기서 문제는 SQL Server Management Studio를 사용하여 쿼리 결과를 표시한다는 것입니다. 아마도 결과를 그리드에 표시하도록 구성했을 것입니다. 결과를 텍스트로 표시하도록 SSMS의 구성을 변경하면 캐리지 리턴이 표시됩니다. 쿼리 창에서

오른쪽 클릭 -> 결과에 -> 결과

가 다시 쿼리를 실행 텍스트합니다.

+0

정확합니다. ;) 나는 게시하기 전에 테스트를 마스트 로스가 나를 때렸다. – theo

0

캐리지 리턴은있는 그대로 저장됩니다. 여기서 문제는 SQL 클라이언트가이를 이해하지 못한다는 것입니다. 이 데이터의 원시 덤프를 수행했다면 캐리지 리턴이 데이터에 있음을 알 수 있습니다.

직장에서 DBArtisan을 사용하는데 문제가없는 것 같습니다. 그러나 isql 당신이보고 한 것과 같은 문제가있는 것 같습니다.

4

IIRC, chr (13) + chr (10)을 사용하면 작동합니다.

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

엄밀히 말하면, chr (13)은 캐리지 리턴이지만 chr (10)은 그렇지 않습니다. 줄 바꿈이야. – Constantin

+1

CHR이 아닌 SQL Server에서 CHAR입니다. –

+0

'chr'은 oracle 용입니다. –

0

이 결과가 HTML 또는 Query Analyzer에 있습니까? HTML 형식 인 경우 소스 코드를 살펴보고 올바르게 표시 될 수 있습니다.이 경우 crlf 문자를 <br /> 태그로 바꿔야합니다.

또한 HTML 텍스트 영역에 추가하여 캐리지 리턴을 특정 방식 (예 : 소프트 또는 하드)으로 보낼 수있는 속성이 있다고 생각합니다. 나는 그것을 보지 않았다, 아마 누군가 그것을 할 수 있었다.

그러나 SQL Server는 내 경험상 두 문자를 저장합니다.사실 SQL 2005를 사용하여 며칠 전에 여기에서 설명한대로 정확히 했었습니다. 각 줄 바꿈에는 두 개의 인쇄 할 수없는 문자가 있습니다.

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

이렇게해야합니다. 효과를 보려면 쿼리 결과 창을 일반 텍스트 출력으로 전환하십시오.

감사 (txtboxes, 라벨 등)에 저장된 데이터를 검색하고 객체를 표시 할 때 나는 여러 texbox를 저장하기 위해 SQLite는 사용하고 그런 일을 가지고 있어요

0

합니다. 필자는 메모장/워드 패드 또는 그와 비슷한 데이터를 복사 할 때마다 캐리지 리턴이 저장되었으며 단순히 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

모두에 적용
0

출력을 일반 텍스트로 전환하면 다른 행의 데이터를 볼 수 있습니다. 출력을 전환하려면 Tools>Options>Query Results으로 이동하고 기본 대상을 텍스트로 설정하십시오. 쿼리를 실행하기 전에 Ctrl+p을 시도해 볼 수도 있습니다. 희망이 도움이됩니다.