oracle的pl/sql问题

weiweipxb 2012-02-14 02:53:33
我有一个栏位为test_date为date类型,写sql的where条件时为什么要to_date(test_date) = TO_DATE('12/02/2012','dd/MM/yyyy')这样才有值,test_date = TO_DATE('12/02/2012','dd/MM/yyyy')就没有值。test_date 就是date类型,为什么还要用to_date()
...全文
130 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlb_chen 2012-02-15
  • 打赏
  • 举报
回复
select test_date from yourtbl;
可知,你这个结果如果是 '2011-12-05 23:25:25’ 这样的,那么不加 to_date,是查不到数据的。
因为:'2011-12-05 23:25:25’ <> '2011-12-05'
如加了to_date ,则两者结构形式一样,值自然就能查出来。
greency 2012-02-15
  • 打赏
  • 举报
回复
oracle 默认Date类型的 日期格式是 dd/MM/yyyy
test_date 即结果数据的格式为 yyyy-MM-dd HH24:mi:ss

--- 所以如果想要得出结果有两种方式:
1.test_date = to_date('2012-02-12','yyyy-MM-dd');
2.to_date(test_date) = to_date('12/02/2012','dd/MM/yyyy');
weiweipxb 2012-02-15
  • 打赏
  • 举报
回复
搞了几年,都是打酱油。
xpingping 2012-02-14
  • 打赏
  • 举报
回复
额……
select test_date from table
显示的是YYYY/MM/DD hh24:mi:ss形式的吧……
weiweipxb 2012-02-14
  • 打赏
  • 举报
回复
to_date後面沒有時間。
渭水飞熊 2012-02-14
  • 打赏
  • 举报
回复
这个问题的应该就是to_date这个函数的默认格式的问题,你可以做以下的实验:
执行该语句,你会发现两列的结果是不一样的。
select to_date(test_date),test_date from table_name;
我个人觉得是oracle的to_date函数默认格式的原因,时间原因没有多分析,你可以研究下,给大家公布下一个结果,呵呵呵。
TorresDrogba 2012-02-14
  • 打赏
  • 举报
回复
你后面的to_date时间取整了,你字段里面存的实际值是什么样的 也是和where条件后面一样吗
weiweipxb 2012-02-14
  • 打赏
  • 举报
回复
问题已经说的很清楚了。
weiweipxb 2012-02-14
  • 打赏
  • 举报
回复
你试试就知道报不报错。
ICE-word 2012-02-14
  • 打赏
  • 举报
回复
你不用to_date 直接where test_date有值吗?
TorresDrogba 2012-02-14
  • 打赏
  • 举报
回复
怎么可能 时间类型 再to_date()会报错的
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分两卷压缩,请都下载完再解压! Oracle 11g SQLPL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQLPL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介   本书是专门为oracle应用开发人员提供的sqlpl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sqlpl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sqlpl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部分 sql  第5章 sqlpl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部分 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案

17,138

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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