字符转换问题

[复制链接]
查看11 | 回复3 | 2006-11-3 16:12:43 | 显示全部楼层 |阅读模式
select 'gz'+convert(char(6),getdate(),112)

如上代码在查询分析器中运行,得到结果gz200411,那么我怎么才能把这个结果作为表名称来引用呢?作为这样子:select * from gz200411
请各位高手指教
回复

使用道具 举报

千问 | 2006-11-3 16:12:43 | 显示全部楼层
example:
declare @TableVar as varchar(10)
declare @sql as varchar(200)
set @TableVar='Testa'
select @sql = 'create table '+@TableVar +'(a int,b int)'
execute(@sql)
select @SQL='INSERT INTO ' + @TableVar + ' VALUES(3,4)'
EXEC(@SQL)
回复

使用道具 举报

千问 | 2006-11-3 16:12:43 | 显示全部楼层
能不能说的详细点,我运行下面代码
use cjqj
declare @kkk as varchar(10)
set @kkk=convert(char(6),getdate(),112)-1
select @kkk
显示正常得到结果是200410
但是作为表名称引用时:select * from @kkk就出错要求我申明变量kkk,,我不是已经申明了吗?
回复

使用道具 举报

千问 | 2006-11-3 16:12:43 | 显示全部楼层
select @SQL='INSERT INTO ' + @TableVar + ' VALUES(3,4)'
EXEC(@SQL)
仔细看着两句话,@TableVar就是表格名称变量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行