什么是kdb+;大写字母C类型?

什么是kdb+;大写字母C类型?,kdb,qpython,Kdb,Qpython,在尝试查询kdb实例时,我遇到了一些类型转换问题(使用qPython)。使用meta获取表的元数据时,返回以下内容: 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

在尝试查询kdb实例时,我遇到了一些类型转换问题(使用qPython)。使用
meta
获取表的元数据时,返回以下内容:

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,发现te
c
type表示列类型为char,但在(大写)
c
类型上找不到任何内容

我试着把它当作一个木炭,但没有用


关于这个
C
的意思有什么想法吗?

大写字母类型是嵌套列表-因此中的OrderID列是一个列表,其中列表的每个元素都是一个类型字符列表,例如

q)meta ([]OrderID:("hello";"there");charlist:"ht")
c       | t f a
--------| -----
OrderID | C
charlist| c    

另外,在定义空表时,不能将列类型定义为
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
q)show meta t upsert `oid`price`side!(`$"123";100.01;"B")
c    | t f a
-----| -----
oid  | s
price| f
side | c
在这种情况下,在插入第一条记录时必须小心,否则可能需要一些非故意的结构。 示例:如果将
oid
作为符号而不是
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
q)show meta t upsert `oid`price`side!(`$"123";100.01;"B")
c    | t f a
-----| -----
oid  | s
price| f
side | c