Rails 使用 'Date' 类型的列创建记录
Rails create record with column of type 'Date'
我有一个名为 class 的记录,其中包含这些列:
'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,
)
您正在尝试将 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)
试试下面的方法
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'))
我有一个名为 class 的记录,其中包含这些列:
'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,
)
您正在尝试将 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)
试试下面的方法
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'))