什么是 kdb+ 大写 C 类型?
What is the kdb+ capital C type?
在尝试查询 kdb 实例时,我 运行 遇到了一些类型转换问题(使用 qPython)。当使用 meta <tablename>
获取 table 的元数据时,它 returns 如下:
c | t f a
-----------| -----
time | t
sym | s g
OrderID | C
ClOrderID | g
OrigClOrdID| g
SecurityID | s
Symbol | s
Side | c
OrderQty | f
CumQty | f
LeavesQty | f
AvgPx | f
Currency | s
Commission | f
CommType | c
CommValue | f
Account | s
MsgType | s
OrdStatus | s
OrderTime | t
现在 OrderID
栏给我带来了一些麻烦。我查看了 kdb docs 我可以找到 te c
类型,它指示列类型是 char,但我找不到关于 (capital) C
类型的任何内容。
我试过将它当作字符来处理,但没有用。
关于这个 C
的意思有什么想法吗?
大写类型是嵌套列表 - 因此 OrderID 列是一个列表,其中列表的每个元素都是一个类型字符列表,例如
q)meta ([]OrderID:("hello";"there");charlist:"ht")
c | t f a
--------| -----
OrderID | C
charlist| c
此外,在定义空 table 时,不能 将列类型定义为 char
列表。
q)t:([] oid:();price:`float$();side:`char$() )
q)meta t
c | t f a
-----| -----
oid | //type undefined
price| f
side | c
q)meta t upsert `oid`price`side!("123";100.01;"B")
c | t f a
-----| -----
oid | C
price| f
side | c
在这种情况下插入第一条记录时必须小心,否则可能会采用一些无意的结构。
例如,如果 oid
作为符号而不是 char
列表插入。
q)show meta t upsert `oid`price`side!(`$"123";100.01;"B")
c | t f a
-----| -----
oid | s
price| f
side | c
在尝试查询 kdb 实例时,我 运行 遇到了一些类型转换问题(使用 qPython)。当使用 meta <tablename>
获取 table 的元数据时,它 returns 如下:
c | t f a
-----------| -----
time | t
sym | s g
OrderID | C
ClOrderID | g
OrigClOrdID| g
SecurityID | s
Symbol | s
Side | c
OrderQty | f
CumQty | f
LeavesQty | f
AvgPx | f
Currency | s
Commission | f
CommType | c
CommValue | f
Account | s
MsgType | s
OrdStatus | s
OrderTime | t
现在 OrderID
栏给我带来了一些麻烦。我查看了 kdb docs 我可以找到 te c
类型,它指示列类型是 char,但我找不到关于 (capital) C
类型的任何内容。
我试过将它当作字符来处理,但没有用。
关于这个 C
的意思有什么想法吗?
大写类型是嵌套列表 - 因此 OrderID 列是一个列表,其中列表的每个元素都是一个类型字符列表,例如
q)meta ([]OrderID:("hello";"there");charlist:"ht")
c | t f a
--------| -----
OrderID | C
charlist| c
此外,在定义空 table 时,不能 将列类型定义为 char
列表。
q)t:([] oid:();price:`float$();side:`char$() )
q)meta t
c | t f a
-----| -----
oid | //type undefined
price| f
side | c
q)meta t upsert `oid`price`side!("123";100.01;"B")
c | t f a
-----| -----
oid | C
price| f
side | c
在这种情况下插入第一条记录时必须小心,否则可能会采用一些无意的结构。
例如,如果 oid
作为符号而不是 char
列表插入。
q)show meta t upsert `oid`price`side!(`$"123";100.01;"B")
c | t f a
-----| -----
oid | s
price| f
side | c