我的 SQL where 子句中有以下内容。这是针对 Oracle 数据库运行的。 sc_dt
字段在数据库中定义为日期字段。
sc_dt = TO_DATE('2011-11-03 00:00:00.0', 'YYYY-MM-DD')
产生以下错误
"date format picture ends before converting entire input string"
当我尝试使用以下内容计算小数秒(在本例中为
.0
)时,出现以下错误。sc_dt = TO_DATE('2011-11-03 00:00:00.0', 'YYYY-MM-DD HH24:MI:SS.FF')
产生以下错误
"date format not recognized"
我真的只是假设我需要
.FF
占.0
在“来自”字符串中。我也试过 .FF1
, .FF2
, ..., .FF9
具有相同的结果(此时我正在捕获稻草)。据我所知,
sc_dt
字段始终填充月/日/年部分(而不是小时/分钟/秒部分)。我正在调试一个 java 程序,该程序将上述 SQL 作为准备好的语句与
2011-11-03 00:00:00.0
一起执行。值(value)。我怎样才能解决这个问题?
最佳答案
您需要使用午夜后秒选项。就像是:
select TO_DATE('2011-11-03 00:00:01.1', 'YYYY-MM-DD HH24:MI:SS.SSSSS') from dual
或这个:
select TO_TIMESTAMP('2011-11-03 00:00:00.1', 'YYYY-MM-DD HH24:MI:SS.FF') from dual
关于sql - TO_DATE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401904/