SSMS 결과 그리드 - CRLF가 복사/붙여넣기로 보존되지 않음 - 더 나은 기술이 있습니까?
그리드에 다음과 같은 결과가 설정된 경우:
SELECT 'line 1
line 2
line 3'
또는
SELECT 'line 1' + CHAR(13) + CHAR(10) + 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
내장된 CRLF를 사용하면 그리드의 디스플레이가 공간으로 대체되는 것처럼 보입니다(모든 데이터가 표시되도록 할 것으로 생각됩니다).
문제는 제가 코드를 생성하는 스크립트를 단순히 잘라내고 붙여넣을 수 없다는 것입니다.코드를 변환하여 커서를 열고 관련 열을 인쇄해야 텍스트 결과에서 복사하여 붙여 넣을 수 있습니다.
결과 그리드에서 복사/붙여넣기 작업에서 CRLF를 보존하는 간단한 해결 방법이 있습니까?
그리드가 도움이 되는 이유는 현재 동일한 개체에 대해 여러 개의 스크립트를 다른 열에 생성하고 있기 때문입니다. 한 열에는 bcp, 다른 열에는 xml 형식 파일, 다른 열에는 테이블 만들기 스크립트 등이 있습니다.
이 문제는 SSMS 16.5 빌드 13.0.16000.28에서 수정되었으며 복사/저장 시 CR/LF를 보존하는 옵션이 추가되었습니다(자세한 내용은 참조)(연결 버그).
- 도구 > 옵션
- 쿼리 결과 > SQL Server > 결과를 그리드로 확장
- 복사 또는 저장 시 CR/LF 유지를 선택합니다.
- SSMS 다시 시작
이것은 원인이 될 것입니다.CR,LF,그리고.CRLF셀을 복사할 때 새 줄로 처리됩니다.
여기가 어디인지 전혀 기억이 나지 않기 때문에 스스로 답을 합니다.
경고:이 기능에는 분명히 버그가 남아 있습니다.
우선 몇 달 동안 옵션에 손을 대지 않았고 최근에 재부팅했습니다.
몇 개의 열에 대한 질문이 있었는데, 그 중 하나에는 고객 피드백(라인 피드 포함)이 포함되어 있었습니다.결과를 Google Docs/Excel에 붙여 넣었을 때 피드백이 원하는 대로 한 줄로 전달되었습니다.
그런 다음 쿼리를 다른 파일로 복사하고 다시 실행했습니다.이번에는 결과에 줄 바꿈이 포함되었습니다!
따라서 매우 이상한 버그가 있거나 현재 창의 설정을 변경하는 비밀 단축키가 있습니다.다른 사람이 이 동작을 볼 경우 관심이 있습니다.
해킹이지만, 이것을 시도해 보십시오.
줄 바꿈을 유지하기 위해 결과 집합을 REPLACE(...,CHAR(13)+CHAR(10),CHAR(182))로 감싼 다음 다시 바꿀 수 있습니다.
SELECT
REPLACE ('line 1' + CHAR(13) + CHAR(10)+ 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
,CHAR(13)+CHAR(10),CHAR(182)
)
출력:
----------------------
line 1¶line 2¶line 3
(1 row(s) affected)
SQL에서 다시 바꾸기:
select replace('line 1¶line 2¶line 3',CHAR(182),CHAR(13)+CHAR(10))
출력:
-------------------
line 1
line 2
line 3
(1 row(s) affected)
또는 좋은 텍스트 편집기에서.
한 가지 방법은 결과를 파일로 보낸 다음 출력을 이해하는 데 탁월한 기능을 가진 변경 사항을 파일을 감시할 수 있는 편집기를 사용하는 것입니다.
언급URL : https://stackoverflow.com/questions/2679481/ssms-results-to-grid-crlf-not-preserved-in-copy-paste-any-better-techniques
'programing' 카테고리의 다른 글
| 커밋이 처음 생성된 GitHub에서 꺼내기 요청 찾기 (0) | 2023.06.19 |
|---|---|
| spring jpa application.properties 사용SSL (0) | 2023.06.19 |
| 문서의 특정 부분 가져오기 (0) | 2023.06.19 |
| 루비 연산자 "=~" (0) | 2023.06.19 |
| _method를 정의하기 위해 인수를 전달하는 방법은 무엇입니까? (0) | 2023.06.19 |
