SYMBOL数字字符串怎么转成INT

下面代码中,FirstIndustryCode是SYMBOL类型,值是类似"000001"、"000010"这样的6位数字串。我用int函数转换:

insert into t9 select time,int(FirstIndustryCode),avg_r_close,avg_r_volume,avg_r_turnover from t11

但结果如下:
attachments-2021-06-O2jLLUji60c843de967c4.png

这个类型转换,是不是我的用法不对?强转int得到的值与预期的不一样。

请先 登录 后评论

1 个回答

logger

DolphinDB中的SYMBOL类型相当于别的语言中的枚举类型。在用户层面上感觉到SYMBOL类型就是字符串类型,但在内存和磁盘中表示的时候,实际上是一个INT类型。所以当我们使用int函数转换的时候,实际上返回的是内部的编码。如果要转换成字符串代表的数值类型,有两种办法:(1)转换成long类型,然后再转化成int类型;(2)换成成string类型,再转化成int类型。第一种方法的效率更高。

FirstIndustryCode.long().int()
or
FirstIndustryCode.string().int()
请先 登录 后评论