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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个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、修改后重新测试,发现实例已经可以正常解析。

参考技术A 你要这个结果吗?
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

本回答被提问者采纳
参考技术B

你这是想干什么?

 

这样是不是你的意思?

 

有疑问请追问

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

参考技术C 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函数中 写在函数之外即可

Oracle远程连接报错:ORA-12638: 身份证明检索失败的解决方法

本地oracle客户端连接远程服务器时。有时候会报错:

ORA-12638: 身份证明检索失败

此时可以定位到oracl安装目录:

/product/10.2.0/db_1/NETWORK/ADMIN

在里面找到sqlnet.ora文件,打开,找到:

SQLNET.AUTHENTICATION_SERVICES= (NTS)


将其更改为:

 SQLNET.AUTHENTICATION_SERVICES= (NONE)

没有就添加即可!如果改了仍然不能解决问题,那么可以在前面加一个#将这一行注释掉再试试!

以上是关于这个Oracle查询为啥会报错:ora-01821 Date format not recognized的主要内容,如果未能解决你的问题,请参考以下文章

错误 ORA-01821“日期格式无法识别”

JAVA执行ORACLE存储过程的问题,为啥一直会报错?请各位高手帮帮忙,比较急

navicat 连接oracle 数据库会报错

为啥安装 babel-loader 后 yarn 会报错?

selenium-python:整个代码有时候不报错正确操作,但有时候就会报错,不懂为啥?

为啥jmeter 使用 Banboy录制的脚本会报错