我有一个名为record的类,它包含以下列:
'ID' INT,
'RECORD' VARCHAR2(50),
'CREATED_AT' DATE,
'UPDATED_AT' DATE,
'MANUAL_UPDATE' DATE
我想使用以下代码插入新记录:
Record.new(ID: '1', RECORD: 'Foo', MANUAL_UPDATE: '20150110122356')
将创建新记录,但在MANUAL_UPDATE
列中,值将变为Nil。
我想以'%Y%m%d%H%M%S'
的格式创建一个包含提供字符串的记录。我该怎么做?
有关数据库结构的更多信息:
CREATE TABLE ZMNS_TEST.SAVED_ITEMS
(
ID INT NOT NULL,
RECORD VARCHAR2(50 CHAR) NOT NULL,
CREATED_AT DATE NOT NULL,
UPDATED_AT DATE NOT NULL,
MANUAL_UPDATE DATE,
)
答案 0 :(得分:1)
您正尝试将String
(时间戳)插入Date
列,因此您获得了nil
。您有两种选择:
1>更新正确的日期,如:
Record.new(ID: '1', RECORD: 'Foo', MANUAL_UPDATE: Date.today)
2 - ;将时间戳转换为日期,然后更新:
date = Date.strptime("20150110122356",'%Y%m%d%H%M%S')
#=> Sat, 10 Jan 2015
Record.new(ID: '1', RECORD: 'Foo', MANUAL_UPDATE: date)
答案 1 :(得分:0)
尝试以下方法
Date.strptime('20150110122356', '%Y%m%d%H%M%S')
Record.new(ID: '1', RECORD: 'Foo', MANUAL_UPDATE: Date.strptime('20150110122356', '%Y%m%d%H%M%S'))