0

我在将数据从 MySQL 导出到 CSV 时遇到日期格式转换问题。我正在使用 scriptelaa.1.1,我猜是最新的。

这是我的etl.properties文件:

driver=mysql
url=jdbc:mysql://localhost:3306/<my_DB_name>
user=<user_name>
password=<password>
classpath=/path/to/mysql-connector-java-5.1.19.jar;

这是我的etl.xml文件:

<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
<etl>
    <description>Scriptella ETL File Template.</description>
    <properties>
        <include href="/path/to/etl.properties"/> <!--Load from external properties file-->
    </properties>
<!-- Connection declarations -->
<connection id="in" driver="${driver}" url="${url}" user="${user}" password="${password}" classpath="$classpath">
</connection>
<connection id="out" driver="csv" url="report.csv">
    #Use empty quote to turn off quoting
    quote=
    null_string=\\N
    format.dob.type=date
    format.dob.pattern=yyyy-MM-dd HH:mm:ss
</connection>
<query connection-id="in">
    SELECT * FROM test;
<script connection-id="out">
    $1,$2,$3,$4
    </script>
 </query>    
</etl>

dob是我在 MySQL 表中的列名,它是datetime类型的列。现在,当我从 MySQL 导出数据时,时间格式为yyyy-MM-dd HH:mm:ss.S 但我想要yyyy-MM-dd HH:mm:ss,所以我使用了

format.dob.type=date
format.dob.pattern=yyyy-MM-dd HH:mm:ss

正如建议 scriptella.1.1 具有该功能并使用它,在以下链接中: http ://scriptella.javaforge.com/reference/index.html

但它不起作用。谁能帮我吗。

谢谢。:)

4

1 回答 1

0

格式化规则应用于变量名,因此格式描述和扩展占位符应使用完全相同的变量名。在您的事业中,请尝试使用 $dob 而不是列号。

于 2013-08-24T17:14:43.217 回答