2009-06-08 26 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 
-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

呵呵。我今天学了些新东西。感谢您发布此信息。 – 2009-06-08 18:18:04

+0

在文本模式下,sql服务器将为列的每个可能的字符len放置一个“ - ”减号字符。减少可能的最大长度,并减少“ - ”减去字符...... – 2009-06-08 18:33:50