2017-10-30 9 views
-1

selectの中の列の名前で動的テキストを固定テキストと連結する必要があります。"AS"名前列のMySql連合

私はこのようなコマンドを実行しようとしています:

set @y = '2017'; 
SELECT 1 AS Concat('January ',@y); 

が、MySQLは私に、括弧内の構文エラーを返します。変数にのみ試みる

、私はまた、構文エラーがあります:変数の関数で列名を持つための正しい方法だろう

set @y = '2017'; 
SELECT 1 AS @y; 

何?

おかげ

+0

これは値としてのみ使用できます。列名の場合は、 '$$'を使用する必要があります。 – Soolie

+0

どこに$$を置く必要がありますか? @Soolie –

+0

なぜ「AS」を使いたいのですか?なぜ、 'SELECT Concat( 'January'、@y);'だけではないのですか? – rednaw

答えて

2

次のように選択し実行する方法はありません。動的にする必要があります

set @y = '2017'; 
SET @sql = CONCAT('SELECT 1 as January', @y); 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
関連する問題