我想知道当我执行一个请求时,如何在表名中自动写出当天的名字:
来自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 等,我只能得到当天的名字......
答案 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;