如何在Oracle中将日期字符串“ 09-JUN-14 12.00.00.000000000 AM”转换为日期格式

时间:2018-07-30 10:25:53

标签: oracle date-format

我有一个CSV文件,其日期指定为字符串,格式如下。我无法将日期插入Oracle日期列,因为它显示“无法识别日期格式-错误”。有人可以帮我转换吗。

以CSV格式的采样日期

.carousel-inner {
  max-height: 430px;
}
.tblsmallImages{
      width:125px;
      height:100px;
      bottom: 0!important;
      width: 90%;
      margin:0 5%;
}
.smallImages{
      height:100px;
      margin-right:5px;
      margin-left:5px;

}
.carousel-inner-thumbnails{
      height: auto;
      overflow: auto;
      margin-top: 10px;
      position: relative;
      width: 100%;
      display: flex;
      background-color: #ccc;
      padding: 0 5px;
}

.thumbnail {
  min-width:18%;
  width:auto;
  margin:5px 1%;
  }
.thumbnail img {
  width:100%;
  height:auto;
  /* min-height:75px; */
}

/*@media only screen and (max-width: 480px) {
 .thumbnail {
  min-width:31.33%;
  width:auto;
  margin:5px 1%;
  } 
}*/
      

2 个答案:

答案 0 :(得分:2)

鉴于您的字符串以毫秒为单位,您需要将其转换为timestamp

to_timestamp( '09-JUN-14 12.00.00.000000000 AM', 'DD-MON-RR HH.MI.SS.FF AM', 'nls_language=English')

此外,鉴于月份以MON格式书写,因此您最好确保在转换中使用英语。 如果您使用结果插入日期列,则只会保留日期patr,而会丢失毫秒:

SQL> create table tabDate (d date);

Table created.

SQL>
SQL> insert into tabDate
  2  select to_timestamp( '09-JUN-14 12.00.00.000000000 AM', 'DD-MON-RR HH.MI.SS.FF AM', 'nls_language=English')
  3  from dual;

1 row created.

答案 1 :(得分:0)

尝试遵循

to_timestamp('09-JUN-2014 12.00.00.000000000 AM', 'dd-mon-yyyy hh.mi.ss.ff7 AM')