oracle里的date类型怎么查询呢?

crazymanonly 2012-02-01 06:36:41
一张表里面有个字段 A 是date类型

存放的是日期和时分秒

怎么查询日期在2012年2月1日的记录呢?

select * from table where A='2012-02-01'吗

显然不对 该怎么写呢 谢谢
...全文
2727 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiedi1209 2012-02-03
  • 打赏
  • 举报
回复
http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html
把日期函数都熟悉一下 建议
zhangqin12356 2012-02-03
  • 打赏
  • 举报
回复
select * from table where to_char(A,'YYYY-MM-DD')='2012-02-01'
cutebear2008 2012-02-03
  • 打赏
  • 举报
回复
where A between to_date('03-FEB-12 00:00:00','DD-MON-YY HH24:MI:SS') and to_date('03-FEB-12 23:59:59','DD-MON-YY HH24:MI:SS');
Larry 2012-02-02
  • 打赏
  • 举报
回复
SELECT * FROM TABLE WHERE A LIKE DATE '2012-02-01';
tanshi 2012-02-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hj_daxian 的回复:]
SQL code


select * from tb1 where to_char(A,'yyyy-mm-dd')='2012-02-01'
[/Quote]
刚测试完,正解
yelang 2012-02-02
  • 打赏
  • 举报
回复

select * from table where A=To_Date('2012-02-01','YYYY-MM-DD');
  • 打赏
  • 举报
回复

select * from tb1 where to_char(A,'yyyy-mm-dd')='2012-02-01'

xiaobluesky 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mailking 的回复:]

SQL code
select * from table where a=to_date('2012-02-01','yyyy-mm-dd')
[/Quote]

这个是有点问题的,A字段一般不会是2012-02-01,一般默认会精确到秒...
所以一般时间查询的时候,使用将时间转化为字符串比较,同三楼:

select * from table where to_char(a,'yyyymmdd') = '20120201';
mailking 2012-02-01
  • 打赏
  • 举报
回复
select * from table where a=to_date('2012-02-01','yyyy-mm-dd')
xpingping 2012-02-01
  • 打赏
  • 举报
回复
select * from table where to_char(A,'YYYY-MM-DD')='2012-02-01'

crazymanonly 2012-02-01
  • 打赏
  • 举报
回复
select * from table where to_date(A)='2012-02-01'

这么写?
TBNoO 2012-02-01
  • 打赏
  • 举报
回复
不对,需要使用to_data()函数进行转换

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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