kdb/qのmeta
関数は、テーブルに関する次の情報を返します。
- c – (記号) 列名
- t – (文字) データ型
- f – (シンボル) 外部キーのドメイン
- a - (記号) 属性。
これを拡張して、テーブルに関する詳細情報を含めたいと思います。私が解決しようとしている特定のケースは、テーブルの時間データ列に関するタイムゾーン情報を含めることです。
例えば:
select from Price
+-------------------------+-------------------------+--------+-------+
| Time | SysTime | Ticker | Price |
+-------------------------+-------------------------+--------+-------+
| 2016.09.15D09:18:02.391 | 2016.09.15D08:18:02.391 | IBM | 63.46 |
| 2016.09.15D09:18:02.491 | 2016.09.15D08:16:22.391 | MSFT | 96.72 |
| 2016.09.15D09:18:02.591 | 2016.09.15D08:14:42.391 | AAPL | 23.06 |
+-------------------------+-------------------------+--------+-------+
meta Price
+---------+---+---+---+
| c | t | f | a |
+---------+---+---+---+
| Time | p | | |
| SysTime | p | | |
| Ticker | s | | |
| Price | f | | |
+---------+---+---+---+
メタの時間データ列 (Time
および)に関する追加情報が必要です。SysTime
たとえば、次のようなものです。
metaExtended Price
+---------+---+---+---+------------------+
| c | t | f | a | z |
+---------+---+---+---+------------------+
| Time | p | | | America/New_York |
| SysTime | p | | | America/Chicago |
| Ticker | s | | | |
| Price | f | | | |
+---------+---+---+---+------------------+
テーブルと列を取り込んでタイムゾーンを返す関数があることに注意してください。
TimeZone[Price;Time]
戻り値America/New_York
私の質問は、この情報をメタ関数に含める方法についてのみです。私が持っている2番目の質問は、ユーザーがこのようなことをした場合newPriceTable:Price
(前のテーブルと同じ新しいテーブルを作成する)、metaExtended
関数は両方のテーブルに対して同じ値を返す必要があるということです(2つのテーブルで関数を呼び出すのと同様)同じオブジェクト参照を持つ異なる変数)
同様のものがSQLに存在しますか?