在mysql中用整数表示的日期和时间,如何导入到DolphinDB中

如下图所示是mysql中一张表的样本数据,

attachments-2021-06-OMCP5Kf360c8451edd520.png
其中的trade_date表示日期,数据类型是int,20100104表示2010年1月4日;trade_time是时间,数据类型也是int,93100表示09:31:00。

现在在DolphinDB database中,建库脚本如下:

monthDB = database(,VALUE, 1990.01M..2050.12M)
tickDB = database(, HASH, [SYMBOL, 20])
db = database("dfs://minute_price", COMPO, [monthDB, tickDB])
columns = `trade_date`trade_time`secu_code`int_code`code_type`open`close`high`low`volume`turnover
types = [DATE,TIME,SYMBOL,INT,INT,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE]
db.createPartitionedTable(table(10:0, columns, types), `price_data,`trade_date`secu_code)

也就是trade_date,trade_time要转换成date和time类型,我在执行下面代码时:

schema=select name,type from extractSchema(conn,`quote_1m)
update schema set type="TIME" where name="trade_time"
update schema set type="DATE" where name="trade_date"
mysql::loadEx(conn, db,`quote_1m, `trade_date`secu_code, schema);

提示Couldn't convert from INT to DATE。请教一下这个应该怎么转换?

请先 登录 后评论

1 个回答

logger

这个可以在mysql查询时,将int转成date和time,代码如下所示:

db=database("dfs://minute_price")
query="select date(trade_date) as date ,time(trade_time) as time, secu_code,int_code,code_type,open,close,high,low,volume,turnover from trades"
mysql::loadEx(conn, db, "price_data", `trade_date`secu_code, query);
请先 登录 后评论