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

但结果如下:
image.png

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

阅读 2.3k
1 个回答

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

FirstIndustryCode.long().int()
or
FirstIndustryCode.string().int()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进