如何使用 / 将不同输入插入具有日期数据类型的表中?
insert into run(id,name,dob)values(&id,'&name',[what should I write here?]);
我正在使用 oracle 10g.
如何使用 / 将不同输入插入具有日期数据类型的表中?
insert into run(id,name,dob)values(&id,'&name',[what should I write here?]);
我正在使用 oracle 10g.
由于dob
是DATE
数据类型,因此您需要使用TO_DATE
和正确的格式模型将字面值转换为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
数据类型包含日期和时间元素。如果您不关心时间部分,那么您也可以使用 ANSI 日期字面量,它使用固定格式'YYYY-MM-DD'
且与NLS无关。
例如:
SQL> INSERT INTO t(dob) VALUES(DATE '2015-12-17');
1 row created.
日期必须用两个撇号插入'
例如,如果日期是2018/10/20。可以使用以下查询插入
查询 -
insert into run(id,name,dob)values(&id,'&name','2018-10-20')
'2018-10-20'
是一个字符串,而不是日期。您必须使用适当的格式掩码显式地将字符串转换为日期,使用 TO_DATE
或者使用 ANSI date literal
,它使用固定格式 DATE 'YYYY-MM-DD'
。 - Lalit Kumar B假设我们使用SQL Server管理工具创建一个名为“Transactions”的表格。
txn_id int,
txn_type_id varchar(200),
Account_id int,
Amount int,
tDate 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
插入数据到run表中,包括id,name和dob三个字段,值分别为&id,'&name'以及[这里应该写什么?]。
insert into run(id,name,dob)values(&id,'&name',TO_DATE('&dob','YYYY-MM-DD'));
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');
你也可以使用“时间戳”数据类型,只需要“dd-mm-yyyy”格式。
例如:
insert into emp values('12-12-2012');
考虑到表格中只有一列... 您可以根据您的表格调整插入值。
要插入当前日期,您可以使用此GETDATE()函数。
insert into run(id,name,dob) values(&id,'&name',GETDATE());
您还可以使用CURRENT_TIMESTAMP()函数来插入当前日期和时间。