oracle中将原有的年、月、日个字段整合成日期形式插入数据库?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中将原有的年、月、日个字段整合成日期形式插入数据库?相关的知识,希望对你有一定的参考价值。

你好,Oracle中日期类型是date类型,sql语句中是区分类型的,也就是说虽然形势上'2012-12-21'是一个日期,但是它在Oracle中却是实实在在的字符串类型,所以不能插入到date类型的字段里,解决方法就是将日期字符串转换成date类型就可以了,这里可以使用to_date函数,如:
insert into tablename (date_column) values(to_date('2012-12-21','yyyy-mm-dd') )。
to_date里需要两个参数,第一个是日期字符串,可以在程序中拼好(Java或者其他高级程序语言想实现这一点都是很容易的);第二个参数是日期的格式,'yyyy-mm-dd'的意思是想要4位的年份,两位的月份(比方说如果为2,则保存为:02)和两位的日期(这个意义和月份相同,假如为4号,则保存为04)。如果想要其他的格式或者想插入具体的时分秒时间都是可以的,比如:
to_date('2012-12-21 12:12:12','yyyy-mm-dd hh24:mi:ss')后边的24代表使用24时制时间。够明白吧!
参考技术A 这个简单,遍历数据库,
Resultset select =Select * from 表
While( Result.next() String[] year = select.getString(" 年")
While( Result.next() String [] mon= select.getString(" 月")
While( Result.next() String [] day = select.getString(" 日")
for(int i=0;i<select.getRow;i++)
String[i] 日期 = year[i]+mon[i]+day[i]

for(int i=0;i<select.getRow;i++)
update 表 SET 日期 =String[i]日期 WHERE year = String[i] year and mon = String[i] mon

希望对你有帮助
参考技术B insert tableA values(
...
,YYYYMMDDField = to_date(to_char(YYYYField) || to_char(MMField) || to_char(DDField),'YYYYMMDD')
...
)
参考技术C SELECT to_date('2012年03月12日','yyyy"年"mm"月"dd"日"') FROM dual

c语言将日期转换为字符串 急求,谢谢!

如2015年11月22日转换为“2015/11/22 Sunday”,2015年1月1日转换为“2015/01/01 Thursday”。函数输入参数为整数型的年,月,日,返回值为字符指针,指向转换得到的字符串。星期信息在函数中自行推断,已知2015年11月25日为星期三,可推算之前或之后的日期是星期几。

主程序依次读入3个整数,分别表示年、月、日,然后输出转换得到的字符串。

例如:

输入:2015 11 28

输出:2015/11/28 Saturday

参考技术A

#include"stdio.h"

int main()

int y,m,d,c,w;

  char week[7][10]="Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday";

  scanf("%d%d%d",&y,&m,&d);

  if(m<3)m+=12;y--;

  c=y/100;

  y%=100;

  w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1)%7;

  printf("%d%d/%d/%d %s\\n",c,y,m,d,week[w]);

  return 0;

本回答被提问者和网友采纳

以上是关于oracle中将原有的年、月、日个字段整合成日期形式插入数据库?的主要内容,如果未能解决你的问题,请参考以下文章

sql如何截取日期字段中的年和月

php页面传来三个int型的年,月,日,怎么将三个数字转成日期格式

MySQL与Oracle---日期对比(Oracle)

Java 根据出生日期获得年龄

c语言将日期转换为字符串 急求,谢谢!

JavaScript 中两个日期的年、月、日之间的差异