sql - TO_DATE 问题

标签 sql oracle to-date

我的 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/

相关文章:

mysql - 查询具有两个条件的内连接?

Oracle 11G - 插入索引的性能影响

Oracle 从 xmltype 中提取值

postgresql 将数字转换为日期和格式

sql - 练习 “exists (select 1 from …)”来自哪里?

mysql - 需要帮助合并三个表的外键

oracle - 在Oracle中,当内部查询包含SDO_ANYINTERACT时,为什么不能在外部查询中选择rownum?

sql - 如何用文字显示数值

sql - MS SQL 中两列之一的 SELECT MAX(column) AND DISTINCT