我正在尝试将我的数据从 sybase 迁移到 monetdb。(或相反)为此我从 sybase 使用 bcp 并复制到 monetdb 中。
问题是某些数据类型在 monetdb 中不可用,例如 datatime。为了解决这个问题,我可以在 monetdb 中定义一个函数,它将日期时间格式转换为 monetdb 特定格式。
但是当我尝试批量复制命令时如何在特定列上调用此函数
使用分隔符从文件中复制到表中;
sybase 中 bcp 的情况相同
编辑 2:(我想我解决了我的问题,虽然原始问题仍然存在)我想从 monetdb 和 sybase 中的 csv 文件批量复制数据。csv 文件有一列带有 unix 时间戳(从 1970 年开始的秒数)。由于与人类可读的日期时间(YYYY-MM-DD HH:MM:SS)格式相比,使用 unix 时间戳进行查询比较困难,因此我想将该时间戳列转换为日期时间格式)。
我无法在批量复制时更改数据类型,但定义(使用)函数将时间戳转换为人类可读格式。
-- 对于 Sybase 使用的 dateadd 函数: select * from gaurav.table where dateadd(ss,t_stamp,'1/1/1970') '2013-02-27 (小于号) 10:17:29.463114';
--Monetdb 定义了一个函数: create function "epoch"(sec INT) 返回 TIMESTAMP 外部名称 timestamp."epoch"; select * from gaurav.table where epoch(t_stamp) (小于号) '2013-02-27 10:17:29.463114';