データを sybase から monetdb に移行しようとしています (またはその逆)。このために、sybase から bcp を使用して monetdb にコピーしています。
問題は、datatime などの一部のデータ型が monetdb で使用できないことです。この問題を解決するために、日時形式を monetdb 固有の形式に変換する関数を monetdb で定義できます。
しかし、bulkcopyコマンドを試しているときに特定の列でこの関数を呼び出す方法
区切り文字を使用してファイルから COPY INTO TABLE;
sybase の bcp と同じ状況
編集 2: (元の質問はまだ残っていますが、問題を解決したと思います) monetdb と sybase の両方で csv ファイルからデータを一括コピーしたかったのです。csv ファイルには、UNIX タイムスタンプ (1970 年からの秒数) を含む 1 つの列がありました。人間が読める日付時刻 (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) return TIMESTAMP 外部名 timestamp."epoch"; select * from gaurav.table where epoch(t_stamp) (小なり記号) '2013-02-27 10:17:29.463114';