私はこのようなことをしようとしています:
select data AS curdate() from table;
結果のテーブルは次のようになります。
2013-04-26
data 1
data 2
data 3
構文がわかりませんが、可能でしょうか?
エラーを返すあらゆる種類の引用符なしで試しました。一重引用符とバックティックは両方とも、列ヘッダーとして SQL 自体を返します。
私はこのようなことをしようとしています:
select data AS curdate() from table;
結果のテーブルは次のようになります。
2013-04-26
data 1
data 2
data 3
構文がわかりませんが、可能でしょうか?
エラーを返すあらゆる種類の引用符なしで試しました。一重引用符とバックティックは両方とも、列ヘッダーとして SQL 自体を返します。
これは通常とは異なる要件ですが、それを主張する場合は、動的 SQL を使用する必要があります。
SET @curdate = CURDATE();
SET @sql = CONCAT('SELECT whatever AS "', @curdate, '" FROM whatever');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
エイリアスは識別子と見なされ、動的 SQL を使用しないと関数に割り当てることはできません。次のような参照が壊れます。
SELECT *
FROM (SELECT 1 AS curdate()) a