关于oracle的小问题

chenwenlong 2000-07-21 10:07:00
我用以下的SQL语句
select * from v_weather where 日期='07-20-2000' and 地区='包头';
访问ORACLE为什么不行呢。

sql plus 的提示如下
错误位于第1行:
ORA-01843: 无效的月份

请大吓给我将将ORACLE的日期类型的几种用法;
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tommy Chang 2000-07-21
  • 打赏
  • 举报
回复
这样吧,weity用select sysdate from dual看看,输出格式是不是yyyy-mm-dd?
或者看看
select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'
其实session的nls参数都在
数据字典nls_session_parameters里面

:)
weity 2000-07-21
  • 打赏
  • 举报
回复
我用 日期='yyyy-mm-dd'
我没有遇到错误
另外 trunc(日期,‘DD’)='yyyy-mm-dd'
也可以,
chenwenlong 2000-07-21
  • 打赏
  • 举报
回复
谢谢众位,问题解决,各的5分
Tommy Chang 2000-07-21
  • 打赏
  • 举报
回复
sorry,oracle里面date就一种,没有参数限制,由于它会自动使用nls_date_format来完成日期与字符之间的转换,而对于一个session默认的nls_date_format可以随时更改,另外也可以自己手动完成转换。

数据库表格中的”日期“的格式 是什么意思?指表结构中,数据类型定义吗?

:)
abitoom 2000-07-21
  • 打赏
  • 举报
回复
首先你要确认你数据库表格中的“日期”的格式是“mm-dd-yyyy”,
另外你可以试一下“mm-dd-yy”的格式。
abitoom 2000-07-21
  • 打赏
  • 举报
回复
首先你要确认你数据库表格中的“日期”的格式是“mm-dd-yyyy”,
另外你可以试一下“mm-dd-yy”的格式。
Tommy Chang 2000-07-21
  • 打赏
  • 举报
回复
date=to_date('07-20-2000','mm-dd-yyyy')

在registry(unix是环境变量)有个nls_date_format,改为(或添加)为'mm-dd-yyyy'

先执行alter session set nls_date_format='mm-dd-yyyy')

:)

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧