如何在表格名称中自动写出当天的名字?

时间:2017-07-05 08:18:25

标签: sql ibm-midrange

我想知道当我执行一个请求时,如何在表名中自动写出当天的名字:

来自qgpltemp。星期一(如果我星期一跑)

来自qgpltemp。星期二(如果我在星期二运行)

等...

(在执行请求之前已经使用好名称创建了表)

我试过了:

select DAYNAME(CURRENT_DATE)as day,cast (row1 as integer) from qgpltemp.:day

和其他一些事情,但我经常得到错误:

Error: [SQL0104] Elément syntaxique : n'est pas correct. Eléments possibles : <IDENTIFIER>.
SQLState:  42601
ErrorCode: -104

命令DAYNAME(CURRENT_DATE)as day工作正常,如果我手动写 .monday 等,我只能得到当天的名字......

2 个答案:

答案 0 :(得分:2)

我认为这样的事情可能是你正在寻找的事情

declare @day varchar(max)
select @day = datename(dw,getdate())

declare @sqlCommand varchar(max)
Select @sqlCommand = 'Select * from qgpltemp.' + @day

exec(@sqlCommand)

如果您在脚本中插入它,它将执行命令以从当前日期的表中选择所有。

答案 1 :(得分:1)

为当天创建别名。然后你的程序可以指向别名。

CREATE or replace ALIAS Qgpltemp.today FOR QGPLTEMP.MONDAY ;

select * from qqgpltemp.today;