ocp-047-172 日期与数字字符隐示转换

日期与数字字符隐示转换

SQL> select * from t001 where edate='2013-10-07 00:00:00';
select * from t001 where edate='2013-10-07 00:00:00'
                              *
ERROR at line 1:
ORA-01861: literal does not match format string
SQL> alter session set nls_date_format='YYYY-mm-dd hh24:mi:ss';
Session altered.
SQL> select * from t001 where edate='2013-10-07 00:00:00';

no rows selected

 number隐士转换为varchar2 然后varchar2隐士转换为date
这个隐士转换很可能会导致索引失效
所以where过滤时两边数据类型最好一样

查看 修改 当前oracle时间的格式

查看当前oracle时间的格式
select * from nls_session_parameters where parameter = ‘NLS_DATE_FORMAT’;
修改当前session的format
alter session set NLS_DATE_FORMAT=’YYYY-MM-DD HH24:MI:SS’;
windows修改时间格式并保存

客户端的注册表HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0中,如无默认的日期格式,则“新建”->“字符串”,重命名为“NLS_DATE_FORMAT”(注意引号内的字符应大写),并赋值为如:yyyy-mm-dd hh24:mi:ss, 可直接使用,而不需要重启Oracle。

 不设置这个参数的话读取的是v$nls_parameters数据库的系统参数nls_date_format
文档查看:Oracle 官方文档  关键字 implicit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值