将日期从java插入Oracle DB

时间:2013-09-19 11:51:01

标签: java oracle

我试图通过java在Oracle DB中的DATE数据类型的一个列中插入一个值。

尝试以下

insertSurveyQuery.append("cast(to_date('12/31/8888', 'MM/dd/yyyy' )as date), ");

Oracle DB中的OP:

DEC-31-88

但我希望将日期存储为12/31/8888。

感谢您的任何帮助!

-Thanks!

4 个答案:

答案 0 :(得分:3)

这是SQL客户端显示日期的方式。您可以使用以下方式更改此格式:

alter session set NLS_DATE_FORMAT='MM/dd/yyyy';

内部(在DB中)DATE以数字方式存储,因此它没有任何格式。

答案 1 :(得分:1)

如果您有许多用户访问您的应用程序,那么您可以在Java代码中执行以下操作

Date newDate = new SimpleDateFormat("mm/dd/yyyy").parse(myDate);

并在插入或更新语句中使用newDate

通过这样做,您无需更改客户端设置。

答案 2 :(得分:0)

首先,您必须以

的格式创建表格
create table t1
(
ename varchar(20),
address varchar(20),
hire_date date,
salary number(5),
dob (we enter as 'dd-mm-yyyy')
);

您必须在其中将日期列设为dd-mm-yyyy类型,然后您可以根据需要设置数据。

答案 3 :(得分:0)

Oracle不支持DD / MM / YYYY的格式。如果要存储日期时间或时间戳,则必须使用DD-MM-YYYY格式。

在直接插入查询中:

ActiveSheet.Shapes.AddPicture Filename:="C:\Temp\barcode.png", LinkToFile:=msoFalse, SaveWithDocument:=msoCTrue, Left:=Selection.Left, Top:=Selection.Top, Width:=-1, Height:=-1

在程序中:

  SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy' 'hh:mm:ss a");  
     String date = "01-01-1900 01:00:00 AM";