2

私はこのようなことをしようとしています:

select data AS curdate() from table;

結果のテーブルは次のようになります。

2013-04-26
  data 1
  data 2
  data 3

構文がわかりませんが、可能でしょうか?

エラーを返すあらゆる種類の引用符なしで試しました。一重引用符とバックティックは両方とも、列ヘッダーとして SQL 自体を返します。

4

2 に答える 2

3

これは通常とは異なる要件ですが、それを主張する場合は、動的 SQL を使用する必要があります。

SET @curdate = CURDATE();
SET @sql = CONCAT('SELECT whatever AS "', @curdate, '" FROM whatever');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
于 2013-04-26T18:50:19.723 に答える
0

エイリアスは識別子と見なされ、動的 SQL を使用しないと関数に割り当てることはできません。次のような参照が壊れます。

SELECT *
FROM (SELECT 1 AS curdate()) a
于 2013-04-26T18:45:19.680 に答える