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

时间:2015-01-09 16:36:42

标签: c kdb

无法从KDB数据库获取C程序中的date和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”?

非常感谢。

1 个答案:

答案 0 :(得分:1)

我找到了答案,感谢您回复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”