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')
--查询A
Declare @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
--查询B
Declare @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
请问为什么?
解决方案 »
- 显示出当前月的1号到30号(31号)的查询语句
- 请教,这个SQL语句应该怎么写?
- 有没有人碰到这样的连接问题,帮帮忙
- 求一触发器sql!
- 如何给客户安装sql server数据库文件
- 求解释个sql语句
- 求助各路高手 如何比对两个结构完全相同表中的数据
- 将一个表中的某个字段的值修改为另一个表中的同样的字段的值
- 為什么我的SQL數據庫會出現這樣的情況﹖啟動不了﹐救命啊。。。。。。。。。。。。。
- SQL server数据库不小心还原成2012年的数据了,有办法恢复现在的数据吗?
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 请问怎么把加密过的存储过程打包到安装程序中?
- sql2008的附加数据库问题
quotename 返回值类型是nvarchar(258)
也就是最多129个字符,你的B的长度肯定不止