ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER

ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER,第1张

ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER

在 Oracle 数据库中,当使用日期时间时,需要进行格式化 TO_DATE()

所以,应该这样写:

1

SELECT FROM wdsplanload WHERE adid = 209800 AND <a href=">

所以,应该这样写:

SELECT  FROM wdsplanload WHERE adid = 209800 AND time = TO_DATE('2013-1-21 0:00:00','yyyy-mm-dd HH24:mi:ss')

时间类型字段一般用to_date更新。

比如

update 表名 set 时间字段=to_date('2018-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss');

commit;

具体的可以加where条件,上边就是个例子而已。

oracle中时间类型加上整数即代表整数天,所以要加60分钟,可通过60/1440来表示。

如:

select sysdate,sysdate+60/1440 from dual;

查询结果:

当前时间减去 1 分钟的时间sql语句:

select sysdate,sysdate - interval '1' MINUTE from dual;

解释:sysdate就是系统的当前时间,后面的就是通过“interval '1' MINUTE”设置时间类型为分钟,之后“sysdate- interval '1' MINUTE ”当前时间的前一分钟的值,

查询各个级别nls_date_format

设置nls_date_format

2)其次,设定nls_date_format的值

①session级别设定值:

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

设定之后再查询会发现nls_session_parameters视图中nls_date_format的值已经变了,而nls_instance_parameters、nls_database_parameters视图中的值没有变。

session级别——如果只是希望自己看到某种格式而不影响其他人看到的结果。

②instance级别设定值:

alter system set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

此级别的值在oracle9i以后就不允许设定了。

③database级别设定值:

oracle不允许设定此级别的参数值,也没有提供设定语句。

更改日期类型格式化

目的:减少客户端对时间字段(字符串,日期)格式化

以上就是关于ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER全部的内容,包括:ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER、ORA-00932:数据类型不一致,应为DATE,但却获得NUMBER、如何更新oracle数据库表中的时间字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10191077.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存