如何在 C api 中从 KDB+ 访问日期和 varbinary

How to access date and varbinary from KDB+ in C api

无法从 KDB 数据库获取 C 程序中的日期和 varbinary 值。 K (3.2t 2004-06-03)

types:  
date = `date  
col1 = `varbinary

查询:

select date, col1 from table1 where date='1993-01-04'

结果 K shell:

.((`date
,-15337
.,(`T;`date;))
(`col1
,"000  00010"
 ))

C 中的结果:

int date = KI(KK(kData)[0])[i];//date=-15337.
col1=KI(KK(kData)[1])[i];  //col1=8394164

问题:如何将 -15337 转换为“1993-01-04”?这是在 kdb 纪元之前... 问题:如何从结果中获取实际的 varbinary“000 00010”?

非常感谢。

我找到了答案,感谢 user3629249 的回复

使用 dj 功能访问日期

 cout << dj(KI(KK(kData)[0])[i]);

生产 19930104

访问 var binary 作为列表。

K col1Data = KK(KK(kData)[6])[i];
int col1_size = col1Data->n;
for( int j=0; j<col1_size; j++ )
    cout << KC(col1Data)[j];

产生“000 00010”