我试图在mysql中用从Sybase ASE数据库创建的bcp文件构建一个数据库。
我从Sybase创建ddl,并将其转换为Mysql ddl。
我用Sybase生成bcp.out文件。
当我试图在新的Mysql数据库中插入这个bcp.out文件时,日期时间字段的格式出现了问题。
我在bcp.out文件中的内容:

iker1 0 1 6 3 1 0 1 Sep 16 2011 11:20:05:950AM
iker2 1 1 6 3 1 0 1 Jun 15 2012 11:20:05:750AM
gdf34 0 2 6 3 1 0 1 Feb 05 2014 11:20:05:016AM

我对bcp.out文件的期望:
iker1 0 1 6 3 1 0 1 2011-09-16 11:20:05.950
iker2 1 1 6 3 1 0 1 2012-06-15 11:20:05.750
gdf34 0 2 6 3 1 0 1 2014-02-05 11:20:05.016

在执行bcp.out文件时,是否有任何方法格式化/配置Sybase Central中日期字段的输出?
有(用sed)做这件事的(简单)方法吗?

最佳答案

这里有一种从数据库端执行的方法。
在表上创建一个视图,定义希望看到的日期转换。在这种情况下,下面的语句将以所需的格式检索日期。

select convert(char(10),your_date_column,23)+" "+convert(char(8),your_date_column,8)+"."+convert(char(3),datepart(ms,your_date_column))

这样就可以与在表上创建视图结合起来:
create view my_view (col1, col2, col3, your_date_column) as
select col1, col2, col3, convert(char(10),your_date_column,23)+" "+convert(char(8),your_date_column,8)+"."+convert(char(3),datepart(ms,your_date_column))
from your_table

此时,您可以使用bcp从视图中提取数据。
bcp MyDB..my_view out my_data.out -Uusername -Ppassword -Sservername -c

关于mysql - 在Sybase ASE(或Sed)中的bcp输出文件中格式化datetime字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24184183/

10-11 09:16