我在将数据从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
但它不起作用。 任何人都可以帮助我。
感谢。 :)
答案 0 :(得分:0)
格式化规则应用于变量名称,因此格式描述和扩展占位符应使用完全相同的变量名称。在您的原因中,尝试使用$ dob而不是列号。