TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.TZR') 中最后一个 .0 的 oracle 格式是什么?
What is oracle format for last .0 in TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.TZR')?
我从 Java 得到这个日期并且是日期类型。
所以尝试在 oracle 中格式化它
select TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.TZR') from DUAL
无法格式化最后一个 .0 日期。尝试了各种方式
.TZR
TZR
不确定如何设置格式?如果我删除 .0 和 .TZR 那么一切正常。
我收到以下错误:
ORA-01820: format code cannot appear in date input format
01820. 00000 - "format code cannot appear in date input format"
.0
是小数秒,不是时区偏移;但是日期数据类型无论如何都不允许。
如果您的字符串总是有 .0
那么您可以将其视为固定字符以忽略它:
select TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS".0"') from DUAL;
TO_DATE('2020-04-01
-------------------
2020-04-01 00:00:00
如果它可能不为零,或者如果您愿意,它可以转换为时间戳,然后将其转换为日期:
select CAST( TO_TIMESTAMP ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.FF') AS DATE) from DUAL;
CAST(TO_TIMESTAMP('
-------------------
2020-04-01 00:00:00
FF
格式模型元素表示小数秒,as the documentation says,即"Valid in timestamp and interval formats, but not in DATE formats"。
从 Java 获取值意味着什么并不完全清楚,但是如果您正在调用 JDBC 并将参数作为字符串传递,您应该退后一步并使用正确的 JDBC 数据类型。如果可以的话,还要注意@Ole 关于使用现代 Java 数据类型的评论。
这种格式可以通过之前的类型信息轻松转换
SELECT timestamp'2020-04-01 01:02:03.4' from DUAL
和to_timestamp也可以用在selectstmt.
我从 Java 得到这个日期并且是日期类型。
所以尝试在 oracle 中格式化它
select TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.TZR') from DUAL
无法格式化最后一个 .0 日期。尝试了各种方式
.TZR
TZR
不确定如何设置格式?如果我删除 .0 和 .TZR 那么一切正常。
我收到以下错误:
ORA-01820: format code cannot appear in date input format 01820. 00000 - "format code cannot appear in date input format"
.0
是小数秒,不是时区偏移;但是日期数据类型无论如何都不允许。
如果您的字符串总是有 .0
那么您可以将其视为固定字符以忽略它:
select TO_DATE ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS".0"') from DUAL;
TO_DATE('2020-04-01
-------------------
2020-04-01 00:00:00
如果它可能不为零,或者如果您愿意,它可以转换为时间戳,然后将其转换为日期:
select CAST( TO_TIMESTAMP ('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.FF') AS DATE) from DUAL;
CAST(TO_TIMESTAMP('
-------------------
2020-04-01 00:00:00
FF
格式模型元素表示小数秒,as the documentation says,即"Valid in timestamp and interval formats, but not in DATE formats"。
从 Java 获取值意味着什么并不完全清楚,但是如果您正在调用 JDBC 并将参数作为字符串传递,您应该退后一步并使用正确的 JDBC 数据类型。如果可以的话,还要注意@Ole 关于使用现代 Java 数据类型的评论。
这种格式可以通过之前的类型信息轻松转换
SELECT timestamp'2020-04-01 01:02:03.4' from DUAL
和to_timestamp也可以用在selectstmt.