2009-06-08 5 views
0

특정 인스턴스의 각 데이터베이스에 대한 테이블에 대한 쿼리를 예약하고 있습니다. 각 데이터베이스의 쿼리 및 테이블은 비슷합니다. 쿼리 결과를 텍스트 파일로 전달합니다. 쿼리 결과가 나오기 전에 특정 쿼리가 수행되는 데이터베이스를 포함합니다. 그러나 AdventureWorks에서 수행 한 테스트에서 얻은 결과는 매우 긴 밑줄이있는 데이터베이스 이름입니다. 다음은SQL Server 2005의 쿼리 결과에서 긴 밑줄을 단축하는 방법

DatabaseName 
------------------------------------------------------------------------------- 
AdventureWorks                               

AttemptDate    
----------------------- 
2009-05-29 12:54:28.460 

내가 호출 쿼리는 다음과 같습니다 :

아래 내가 가진 출력은

set nocount on 
use AdventureWorks 
GO 
select DB_NAME()as DatabaseName 
select AttemptDate from dbo.ChangeAttempt 

내 질문은 : 나는 데이터베이스 이름 아래 라인을 단축하려면 어떻게합니까?

답변

1

시도 :

SELECT LEFT(DB_NAME(), 20) AS DatabaseName 
,
+0

고마워요. 그것은 작동합니다. 나는 데이터베이스의 일부에서 발견 할 수있는 긴 데이터베이스 이름을 수용하기 위해 20에서 40을 늘린다. – titanium

-1

이 쿼리에서 어떤 결과를 얻을 수 있습니까?

set nocount on 
use AdventureWorks 
GO 
select DB_NAME() as DatabaseName, AttemptDate from dbo.ChangeAttempt 
2

사용 LEFT()

이 시도 :

declare @mytabel table (longvalue varchar(1000)) 

select longvalue from @mytabel 

select left(longvalue,50) as longvalue from @mytabel 

출력 :

longvalue 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 

(0 row(s) affected) 

longvalue 
-------------------------------------------------- 

(0 row(s) affected) 
+2

허. 나는 오늘 새로운 것을 배웠다. 게시 해 주셔서 감사합니다. –

+0

텍스트 모드에서 SQL Server는 열의 가능한 문자 len마다 "-"빼기 문자 하나를 넣습니다. 가능한 최대 길이를 줄이면 "-"문자가 줄어 듭니다 ... –