这个Oracle查询为什么会报错:ora-01821 Date format not recognized

select to_date(to_char(date'2013-10-10', 'yyyy-mm-dd' || ' 00:00:01'),
'yyyy-mm-dd hh24:mi:ss') from dual;

Oracle查询报错:ora-01821 Date format not recognized是设置错误造成的,解决方法为:

1、登录ORACLE数据库,在服务器使用tnsping gshx2cs。

2、TNS的配置文件为tnsnames.ora,目录一般为$ORACLE_HOME/network/admin

3、按照如图格式修改TNS串,配置对应的ip,端口以及实例名。

4、修改后重新测试,发现实例已经可以正常解析。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-31
你要这个结果吗?
select to_timestamp('2013-10-10', 'yyyy-mm-dd hh24:mi:ss') from dual
你那语句错了很多地方,下面这样写不就行了,
to_date('2008-05-31 12:00:00', 'yyyy/mm/dd:hh:mi:ss),
不过查询的时候也要象下面,要不然显示不了时分秒。date类型就是这样。
select to_char(fdate, 'yyyy/mm/dd:hh:mi:ss') as fdate from table追问

这是从一个复杂的存储过程中提取出来的检测语句。意思是选择某一天的第一秒。

追答

下面这样就可以了。
select to_char(to_date('2013/10/10:12:00:01', 'yyyy/mm/dd:hh24:mi:ss'),'yyyy/mm/dd:hh24:mi:ss' ) from dual

本回答被提问者采纳
第2个回答  2013-11-18

你这是想干什么?

 

这样是不是你的意思?

 

有疑问请追问

select to_date('2013-10-10 00:00:01','yyyy-mm-dd hh24:mi:ss') from dual

第3个回答  2013-11-18
select to_date(to_char(date'2013-10-10', 'yyyy-mm-dd') || ' 00:00:01','yyyy-mm-dd hh24:mi:ss') from dual;
拼接时分秒不能写在to_char函数中 写在函数之外即可

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网