2016-09-30 36 views
0

我有多個同名的多表,最後一個添加日期爲abc_2016_09。如何在查詢中選擇一個表作爲mysql中的變量?

現在我怎麼能稱這個提到的聲明,請幫助。

SET @var = concat('ABC_table','_',date_format(curdate(), '%Y'),'_',date_format(curdate(), '%m')); 

AND THEN

select * from @var 

錯誤代碼1069即將到來。

回答

0
SET @var = concat('abc_table','_',date_format(curdate(), '%Y_%m')); 

SET @statment = concat('select * from ', @var); 

PREPARE stmt FROM @statment; 
EXECUTE stmt; 

在mysql workbench中檢查它,它沒有在mariadb中返回行。

+0

'date_format(curdate(),'%​​Y_%m')'要簡單得多。 –

+0

是的,我已編輯。 – khalid

相關問題