Oracle sql developer中的时间戳数据类型
在SQL Developer中,我有一个字段,它的类型是Oracle sql developer中的时间戳数据类型,oracle,oracle-sqldeveloper,Oracle,Oracle Sqldeveloper,在SQL Developer中,我有一个字段,它的类型是timestamp(6) 当我尝试在该字段中插入如下数据时:2013-07-10 12:22:22,SQL Developer显示错误:不是有效月份 我在sql developer中有以下设置: 你能告诉我为什么会发生这个错误吗?因为你的NLS\u TIMESTAMP\u格式有一个错误;您有两次MM元素。应该是: YYYY-MM-DD HH24:MI:SS 如果仅对小时元素使用HH,则无法区分上午和下午时间HH24将为您提供凌晨1点的0
timestamp(6)
当我尝试在该字段中插入如下数据时:2013-07-10 12:22:22
,SQL Developer显示错误:不是有效月份
我在sql developer中有以下设置:
你能告诉我为什么会发生这个错误吗?因为你的NLS\u TIMESTAMP\u格式有一个错误;您有两次
MM
元素。应该是:
YYYY-MM-DD HH24:MI:SS
如果仅对小时元素使用HH
,则无法区分上午和下午时间<例如,code>HH24将为您提供凌晨1点的01
和下午1点的13
。分钟元素是MI
,而不是MM
。目前,它试图将22
解释为一个月数,正如错误所说,这是无效的
但是如果你不想要分数秒,为什么要在日期上使用时间戳呢
通常,您不应该依赖NLS设置。在非特别查询中,最好使用
to_timestamp('2013-07-10 12:22:22',YYYY-MM-DD HH24:MI:SS')
以避免其他人使用不同NLS设置运行代码时出现任何歧义和意外情况。因为您的NLS_timestamp格式有错误;您有两次MM
元素。应该是:
YYYY-MM-DD HH24:MI:SS
如果仅对小时元素使用HH
,则无法区分上午和下午时间<例如,code>HH24将为您提供凌晨1点的01
和下午1点的13
。分钟元素是MI
,而不是MM
。目前,它试图将22
解释为一个月数,正如错误所说,这是无效的
但是如果你不想要分数秒,为什么要在日期上使用时间戳呢
通常,您不应该依赖NLS设置。在非临时查询中,最好使用
to_timestamp('2013-07-10 12:22:22',YYYY-MM-DD HH24:MI:SS')
以避免其他人使用不同NLS设置运行代码时出现任何歧义和意外情况。SQL Server不是oracle。反之亦然:-从dual中选择sysdate;检查当前系统的日期设置,然后插入accordingly@Mat---以及如何将的格式字符串参数更改为YYYY-MM-DD HH:MM:SS
为\u timestamp()
默认函数@Rahulselect sysdate from dual
返回:2013-10-13
SQL Server不是oracle。反之亦然:-从dual中选择sysdate;检查当前系统的日期设置,然后插入accordingly@Mat---以及如何将的格式字符串参数更改为YYYY-MM-DD HH:MM:SS
为\u timestamp()
默认函数@Rahulselect sysdate from dual
返回:2013-10-13