
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数据库表中的时间字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)