首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

quotename的使用有关问题

2012-05-08 
quotename的使用问题SQL codecreate table #tb(FID varchar(10) ,FName varchar(8000))insert into #tb va

quotename的使用问题

SQL code
create table #tb(FID varchar(10) ,FName varchar(8000))insert into #tb values('A','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB')insert into #tb values('B','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAA+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1')--查询ADeclare @a  varchar(max)set @a=''select @a  =@a+' when FName='+quotename(isnull(FName,0),'''')+' then '+isnull(FName,0)  from #tb where FID='A'select @a--查询BDeclare @a  varchar(max)set @a=''select @a  =@a+' when FName='+quotename(isnull(FName,0),'''')+' then '+isnull(FName,0)  from #tb where FID='B'select @a


在实际运用中要用到quotename,可是出现类似上面的情况,
查询A有结果,查询B返回null
请问为什么?

[解决办法]
SQL code
------长度太长了。
[解决办法]
SQL code
quotename 返回值类型是nvarchar(258)也就是最多129个字符,你的B的长度肯定不止
[解决办法]
探讨
有解决方法不?

热点排行