SQL Server 2000:返回的字符串在第 256 个符号后被截断
SQL Server 2000: returned string truncated after 256th symbol
我有这样的查询:
declare @tbl varchar(1024)
declare @clmn varchar(1024)
declare @sql nvarchar(1024)
set @tbl = 'table1'
set @clmn = 'column1'
select top 1
'select (case when exists (select column_name from ' + name + '.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = ''' + @tbl + ''') then 1 else 0 end),
(case when exists (select column_name from ' + name + '.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = ''' + @tbl + ''' and COLUMN_NAME=''' + @clmn + ''') then 1 else 0 end)'
From master.dbo.sysdatabases
在 SQL Server 2008 上 returns 生成查询的全文,但在 SQL Server 2000 上的查询分析器中,结果字符串在第 256 个符号后被截断。有没有办法扩大这个结果字符串?
假设您指的是结果中显示的返回文本 window-- 输出被发送到 TEXT,而不是 GRID,那么这可能是查询分析器的一个功能。
首先检查,将您的查询修改为
SELECT @sql = ' <etc>
如果没有 top 1
,这应该将一个返回的字符串放入变量中。跟着
PRINT len(@sql)
查看实际返回了多少个字符。 (或者可能 datalength
,对于字节数,因为它是 nvarchar。)
自从我开始使用 SQL 2000 以来已经有很长一段时间了,但如果我没记错的话,它与 SSMS 2005 及更高版本中的功能具有相同或非常相似的功能。在这些系统中,进入工具菜单,select 选项,然后 "drill down" 查询结果/SQL 服务器/结果到文本。此面板上的控件之一是 "Maximum number of characters displayed in each column",带有默认为 [I forget] 的微调器,并允许您将其设置为 8192(我在几年前将其设置并保留)。我有理由相信,查询分析器中也有类似但不完全相同的设置。
只是想冒险并声明您的设置可能设置为停止@256 个字符?
我有这样的查询:
declare @tbl varchar(1024)
declare @clmn varchar(1024)
declare @sql nvarchar(1024)
set @tbl = 'table1'
set @clmn = 'column1'
select top 1
'select (case when exists (select column_name from ' + name + '.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = ''' + @tbl + ''') then 1 else 0 end),
(case when exists (select column_name from ' + name + '.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = ''' + @tbl + ''' and COLUMN_NAME=''' + @clmn + ''') then 1 else 0 end)'
From master.dbo.sysdatabases
在 SQL Server 2008 上 returns 生成查询的全文,但在 SQL Server 2000 上的查询分析器中,结果字符串在第 256 个符号后被截断。有没有办法扩大这个结果字符串?
假设您指的是结果中显示的返回文本 window-- 输出被发送到 TEXT,而不是 GRID,那么这可能是查询分析器的一个功能。
首先检查,将您的查询修改为
SELECT @sql = ' <etc>
如果没有 top 1
,这应该将一个返回的字符串放入变量中。跟着
PRINT len(@sql)
查看实际返回了多少个字符。 (或者可能 datalength
,对于字节数,因为它是 nvarchar。)
自从我开始使用 SQL 2000 以来已经有很长一段时间了,但如果我没记错的话,它与 SSMS 2005 及更高版本中的功能具有相同或非常相似的功能。在这些系统中,进入工具菜单,select 选项,然后 "drill down" 查询结果/SQL 服务器/结果到文本。此面板上的控件之一是 "Maximum number of characters displayed in each column",带有默认为 [I forget] 的微调器,并允许您将其设置为 8192(我在几年前将其设置并保留)。我有理由相信,查询分析器中也有类似但不完全相同的设置。
只是想冒险并声明您的设置可能设置为停止@256 个字符?