如何将日期值插入表中
Posted
技术标签:
【中文标题】如何将日期值插入表中【英文标题】:How to insert date values into table 【发布时间】:2016-03-23 15:24:13 【问题描述】:如何使用 日期数据类型使用 / 插入具有不同输入的表?
insert into run(id,name,dob)values(&id,'&name',[what should I write here?]);
我正在使用 oracle 10g。
【问题讨论】:
您能否发布一些您希望插入的输入示例以进行更多说明? 身份证姓名出生日期 1 abc 19.12.2008 2 def 20.12.2009 【参考方案1】:由于dob
是DATE
数据类型,您需要使用TO_DATE
和正确的格式模型将literal 转换为DATE
。语法是:
TO_DATE('<date_literal>', '<format_model>')
例如,
SQL> CREATE TABLE t(dob DATE);
Table created.
SQL> INSERT INTO t(dob) VALUES(TO_DATE('17/12/2015', 'DD/MM/YYYY'));
1 row created.
SQL> COMMIT;
Commit complete.
SQL> SELECT * FROM t;
DOB
----------
17/12/2015
DATE
数据类型同时包含日期和时间元素。如果您不关心时间部分,那么您也可以使用使用固定格式'YYYY-MM-DD'
并且独立于 NLS 的 ANSI 日期文字。
例如,
SQL> INSERT INTO t(dob) VALUES(DATE '2015-12-17');
1 row created.
【讨论】:
【参考方案2】:日期必须插入两个撇号' 例如,如果日期是 2018/10/20。它可以从这些查询中插入
查询 -
insert into run(id,name,dob)values(&id,'&name','2018-10-20')
【讨论】:
不,这是不正确的。在 Oracle 中,'2018-10-20'
是一个字符串,而不是日期。您必须使用带有适当格式掩码的TO_DATE
或使用使用固定格式DATE 'YYYY-MM-DD'
的ANSI date literal
将字符串显式转换为日期。【参考方案3】:
假设我们使用 SQl 服务器管理工作室创建一个表 Transactions
txn_id int,
txn_type_id varchar(200),
Account_id int,
Amount int,
tDate date
);
使用 date 数据类型,我们可以插入简单格式的值:'yyyy-mm-dd'
INSERT INTO transactions (txn_id,txn_type_id,Account_id,Amount,tDate)
VALUES (978, 'DBT', 103, 100, '2004-01-22');
此外,我们可以有不同的时间格式,例如
DATE - format YYYY-MM-DD
DATETIME - format: YYYY-MM-DD HH:MI:SS
SMALLDATETIME - format: YYYY-MM-DD HH:MI:SS
【讨论】:
【参考方案4】:插入run(id,name,dob)values(&id,'&name',[我应该写什么 在这里?]);
insert into run(id,name,dob)values(&id,'&name',TO_DATE('&dob','YYYY-MM-DD'));
【讨论】:
【参考方案5】:你也可以在只需要“dd-mm-yyyy”的地方使用“timestamp”数据类型
喜欢:
insert into emp values('12-12-2012');
考虑到表格中只有一列... 您可以根据您的表格调整插入值。
【讨论】:
【参考方案6】:我只是编写了一个嵌入式 SQL 程序来编写带有日期字段的新记录。 它是迄今为止最好和最短的,没有任何错误,我能够达到我的要求。
w_dob = %char(%date(*date));
exec sql insert into Tablename (ID_Number ,
AmendmentNo ,
OverrideDate ,
Operator ,
Text_ID ,
Policy_Company,
Policy_Number ,
Override ,
CREATE_USER )
values ( '801010',
1,
:w_dob,
'MYUSER',
' ',
'01',
'6535435023150',
'1',
'myuser');
【讨论】:
以上是关于如何将日期值插入表中的主要内容,如果未能解决你的问题,请参考以下文章