如何转换DolphinDB表中一列的数据类型



DolphinDB中表的模式如下。

partitionColumnIndex->-1
chunkPath->
colDefs->
name      typeString typeInt comment
--------- ---------- ------- -------
timestamp SECOND     10             
sym       STRING     18             
qty       INT        4              
price     DOUBLE     16      

我想将列sym的数据类型从STRING转换为SYMBOL,因为手册中提到数据类型SYMBOL可以提高查询性能。

我试过下面的脚本。

update t set sym=symbol(sym)

但表的模式并没有改变。

sqlupdate可以更新列的内容,但不能更改数据类型。如果您想更改类型和内容,请使用函数replaceColumn!,自版本0.99 起提供

请记住,长度小于或等于10的charvarchar类型将在DolphinDB中转换为SYMBOL类型。这就是SYMBOL提高查询性能的原因,因为它占用的开销更少。长度大于10的字符串类型将在DolphinDB中转换为STRING类型。因此,这两种数据类型是两个独立的实体,不能在彼此之间转换或重新定义它们的范围,因为DolphinDB默认情况下会根据其长度呈现每种数据类型。

最新更新