MySQL では、日付を列名として設定できますか。
3 週間すべての列名がその週の最初の日付になる、過去 3 週間のデータを含むテーブルを作成することを考えています。
したがって、currante の日付が 2013 年 9 月 25 日である場合、テーブルには、列名が
11-09-2013、28-09-2013、25-09-2013 の 3 つの列が必要です。
質問する
2000 次
4 に答える
3
もちろん:
mysql> 'foo' を `2013-09-25` として選択します。 +------------+ | | 2013-09-25 | +------------+ | | ふー | +------------+ セットで 1 行 (0.00 秒)
-バックティックについて覚えておいてください。
しかし、実際には、良い考えではない動的な列を作成したい場合は、アプリケーションを使用することをお勧めします。
于 2013-09-25T10:28:49.683 に答える
1
可能かもしれませんが、それはひどい、非正規化された、持続不可能な、脳死のデザインだと思います. 要件について何も知らずに、再考することをお勧めします。
于 2013-09-25T10:30:47.867 に答える
0
これを行う正当な理由は何ですか?
データを読みやすくするだけの場合は、必要なレイアウトにデータをフォーマットするレポートを実行することで実現できます。
各エントリに日付タグを付けてデータを保存し、レポート内の 3 週間ブロックで取得します。
その場でテーブルを作成すると、処理に不要なオーバーヘッドが追加され、他のプロセスによるバックアップ、レプリケーション、および取得が複雑になります。
于 2013-09-25T10:39:25.337 に答える
0
表示レイヤーでそれを行います。
として列を選択
if(date=curdate() - interval 1 day, result, null) as today_minus_1,
if(date=curdate() - interval 2 day, result, null) as today_minus_2,
if(date=curdate() - interval 2 day, result, null) as today_minus_3,
その後、表示するときに名前を変更します。キャンペーンのパフォーマンスを比較するために以前にそのようなことをしましたが、日付としての列の命名はデータ テーブルの作成時に行われました。
于 2013-09-25T10:50:19.650 に答える