如何往数据库中插入日期格式的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何往数据库中插入日期格式的数据相关的知识,希望对你有一定的参考价值。

比如 sql2000 或者Oracle 插入时间数据 2006-7-10 放到------位置 怎么放
insert into course values (4,'计算机',120, ------)

INSERT INTO Agents VALUES (10041, 'Kai', 'Marcoux', '1996-12-03', '1970-12-12');
使用如上语句插入时提示文字与格式字符串不匹配,
INSERT INTO Agents VALUES (10235, 'Tobias', 'Carling', '19-Dec-00', '19-Oct-75');
使用如上格式插入时提示无效的月份

使用to_date函数
************to_date函数参数简介***********
http://hi.baidu.com/ubuntu110/blog/item/dc02862b8f8b5f93033bf69d.html
******************************************
对于你的问题
'1996-12-03' 改为 to_date('1996-12-03','yyyy-mm-dd')
'1970-12-12' 改为 to_date('1970-12-12','yyyy-mm-dd')
'19-Dec-00' 改为 to_date('19-Dec-00','dd-mon-yy')
'19-Oct-75' 改为 to_date('19-Oct-75','dd-mon-yy')
之后直接插入即可。

**************oracle上的实验**************
SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;

TO_CHAR(SY
----------
2009-04-17
SQL> select to_char(sysdate,'dd-mon-yy') from dual;

TO_CHAR(S
---------
17-apr-09

******************************************
----
参考技术A Oracle
insert into course values (4,'计算机',120, to_date('10-7月-2006'));

insert into course values (4,'计算机',120, to_date('10-7-2006','dd-mm-yyyy'));

具体时间
insert into course values (4,'计算机',120, to_date('10-7-2006 23:12:14','dd-mm-yyyy hh24:mi:ss'));
#######################################################
sql2000
insert into course values (4,'计算机',120, '10-7月-2006');
参考技术B 一个数据库文件中有很多表
dim
con
as
adodb.connection
dim
zrst
as
adodb.recordset
set
zcon=new
adodb.connection
con.cursorlocation
=
aduseclient
con.connectionstring
=
"provider=microsoft.jet.oledb.4.0;data
source="
&
路径
&
";persist
security
info=false"
con.open
'for
i=1
to
100
con.execute
"insert
*
into
table1(f1,f2)
values("+chr(34)+"张三"+chr(34)+","+chr(34)+"李四"+chr(34)+")"
'table1是表名
'next
i
参考技术C Insert into course Values (4,'计算机',120, '2006-7-10')

一样
参考技术D sql2000中
insert into course values (4,'计算机',120, '2006-7-10')
即日期也是用单引号括起来,oraacle不知道

如何在雪花日期数据类型字段中插入儒略日期

【中文标题】如何在雪花日期数据类型字段中插入儒略日期【英文标题】:How to insert Julian Date in Snowflake Date Datatype field 【发布时间】:2020-09-15 20:00:00 【问题描述】:

我的数据格式如下(Julian):

2020102 2019134

Snowflake 中的数据类型是该字段的日期。如何使用复制命令将其插入雪花中。

我在下面想,但我还找不到 Julian 的日期格式。 复制到 Table*col1,col2) (select $1,TO_DATE($2,'format') from @%Table

【问题讨论】:

【参考方案1】:

Snowflake 目前不支持儒略日期格式,但您可以使用表达式将其转换为日期。 COPY 还不支持所有功能,但您可以使用舞台上的 INSERT+SELECT 来完成。这是一个简单的例子:

COPY INTO @~/test
FROM
  (SELECT $1 FROM
   VALUES (2020102),(2019134))
;


CREATE OR REPLACE TABLE t1 (juldate int, caldate date);


INSERT INTO t1
SELECT $1,
       (left($1, 4)||'-01-01')::date + right($1, 3)::integer - 1
FROM @~/test;


SELECT *
FROM t1;

JULDATE CALDATE
2020102 2020-04-11
2019134 2019-05-14

【讨论】:

【参考方案2】:

Snowflake 没有内置的儒略日期转换器,我认为您提供的值实际上也不是儒略日期,因为格式通常没有 4 位数的年份,我不认为.无论哪种方式,您都需要进行一些解析和添加日期。这样的事情可能会奏效,尽管我不能 100% 确定要确认的预期结果是什么:

with x as (
    SELECT '2020102' as julian
  )
SELECT DATEADD(days,SUBSTRING(julian,5,3)::number-1,(SUBSTRING(julian,1,4)||'-01-01')::DATE)
FROM x;

这似乎有效,但同样不是 100% 确定。

【讨论】:

以上是关于如何往数据库中插入日期格式的数据的主要内容,如果未能解决你的问题,请参考以下文章

c++ builder 往SQL数据库插入日期类型字段问题

java怎么使用日期格式化将时间插入mysql datetime数据类型中?

Oracle数据库插入日期型数据的方法

如何以某种格式将日期和时间插入 SQL Server 数据库? [复制]

如何在 Informix 中转换插入日期时间的格式?

如何在雪花日期数据类型字段中插入儒略日期