sql 怎么将字符串转换为变量,或者转换为列名

xmlbh 2010-09-11 05:31:22
Example1:
declare @strs varchar(10)
declare @D15 varchar(10)
set @D15='1235'
select @strs='@D'+cast(15 as varchar(10))
print @strs
我想通过变量传递,得到1235
Example2:
declare @column varchar(10)
set @column='D15'
select @column from Hp_KQ_KqMX
想得到列的内容
...全文
616 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanghe63 2010-09-12
  • 打赏
  • 举报
回复
declare @strs varchar(10)
declare @D15 varchar(10)
set @D15='1235'
print @D15
xmlbh 2010-09-12
  • 打赏
  • 举报
回复
Example2,通过大家的写法,我找到了问题的解决方法,但第一个问题有没有办法?
喜-喜 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huanghe63 的回复:]
SQL code
declare @strs varchar(10)
declare @D15 varchar(10)
set @D15='1235'
print @D15
[/Quote]

try..

declare @strs nvarchar(max)
select @strs='declare @D15 nvarchar(10) set @D15=''1235'' print @D'+cast(15 as varchar(max))
print @strs --declare @D15 nvarchar(10) set @D15='1235' print @D15
exec(@strs) --1235
hao1hao2hao3 2010-09-11
  • 打赏
  • 举报
回复

declare @D15 varchar(10)
set @D15='1235'
select @D15


declare @column varchar(10)
set @column='D15'
exec('select '+@column +' from Hp_KQ_KqMX')



黄_瓜 2010-09-11
  • 打赏
  • 举报
回复
declare @column varchar(10)
set @column='D15'
exec ('select '+@column=' from Hp_KQ_KqMX')
黄_瓜 2010-09-11
  • 打赏
  • 举报
回复
declare @column varchar(10)
set @column='D15'
exec ('select '+@column=' from Hp_KQ_KqMX
liangCK 2010-09-11
  • 打赏
  • 举报
回复
exec('select '+@column + ' from hp_kq_kqmx')

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧