2017-10-12 92 views
0

我试图插入到有这样的列Teradata表:续集/ FactoryGirl试图迫使时间戳(6)成时间戳(0)不管是在出厂上市

END_DT TIMESTAMP(0), 

在我厂的这个表,我给该列中的以下值:

FactoryGirl.define do 
    factory :'database/table' do 
    ... 
    end_dt '5555-12-31 00:00:00' 
    ... 
    end 
end 

然而,当我尝试插入到这个表中,是一种尝试运行SQL语句:

INSERT INTO DATABASE.TABLE(END_DT) VALUES ('5555-12-31 00:00:00.000000') 

注意结尾多出6个零,这会导致语句无效时间戳失败。

我试过使用strftime,只是使用日期,但似乎没有工作。

续集似乎很想加入这6个额外的零,我不明白为什么。

任何帮助表示赞赏!

回答

2

你可能需要明确地告诉续集不使用小数时间戳:

DB.extend_datasets{def supports_timestamp_usecs?; false end} 

希望这会为你工作,但它可能取决于你的适配器上。