小问题,帮帮忙

mklv 2004-12-23 03:31:52
在SQL Server中有如下语句:
select * from table1 where week(datefield)='52'
就查询出了datefield为52周的所有记录
请问在Oracle中有没有类似的功能?
谢了先
...全文
73 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mklv 2004-12-23
  • 打赏
  • 举报
回复
多谢 doulikeme(来去无踪)
mklv 2004-12-23
  • 打赏
  • 举报
回复
请问一年有52周还是53周?
多谢
doulikeme 2004-12-23
  • 打赏
  • 举报
回复
SQL> select to_char(to_date('2004-01-01','yyyy-mm-dd'),'WW') from dual;

TO_CHAR(TO_DATE('2004-01-01','
------------------------------
01

SQL> select to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW') from dual;

TO_CHAR(TO_DATE('2004-01-01','
------------------------------
01

SQL> select to_char(to_date('2004-01-05','yyyy-mm-dd'),'WW') from dual;

TO_CHAR(TO_DATE('2004-01-05','
------------------------------
01

SQL> select to_char(to_date('2004-01-05','yyyy-mm-dd'),'IW') from dual;

TO_CHAR(TO_DATE('2004-01-05','
------------------------------
02

SQL> select to_char(to_date('2004-01-08','yyyy-mm-dd'),'WW') from dual;

TO_CHAR(TO_DATE('2004-01-08','
------------------------------
02

SQL> select to_char(to_date('2004-01-08','yyyy-mm-dd'),'IW') from dual;

TO_CHAR(TO_DATE('2004-01-08','
------------------------------
02

SQL>
doulikeme 2004-12-23
  • 打赏
  • 举报
回复
IW和WW的区别(8i上,别的版本不知道)

WW 格式,计算周数时,第一周即为1月1日至7日,第二周为1月8日至1月14日,事实上就是日数/7
IW 格式,计算周数时,第一周为1月1日至当年的第一个星期日,第二周为当年的第一个星期日的后一日开始计算

rs_net 2004-12-23
  • 打赏
  • 举报
回复
select * from table1 where to_char(datafield,'iw')='52';
rs_net 2004-12-23
  • 打赏
  • 举报
回复
select to_char(sysdate,'iw') from dual;
前面我写错了
doulikeme 2004-12-23
  • 打赏
  • 举报
回复
IW 格式 返回的是根据ISO标准定义的一年中的周数
GerryYang 2004-12-23
  • 打赏
  • 举报
回复
select to_char(sysdate,'ww') from dual;

select * from table1 where to_char(datefield,'ww')='52'
doulikeme 2004-12-23
  • 打赏
  • 举报
回复
select * from table1 where to_char(datefield,'IW')='52';
mklv 2004-12-23
  • 打赏
  • 举报
回复
select * from table1 where to_char(datefield,'ww')='52'
这样子可以得到记录,但是这个结果和现实的不一样,
查询52周是从2004/12/23开始的?但实际上52周是从2004/12/20号开始的
郁闷,
mklv 2004-12-23
  • 打赏
  • 举报
回复
兄弟,q表示什么意思啊,我运行这个语句,怎么得不到任何记录阿?
在帮帮忙吧,谢谢
rs_net 2004-12-23
  • 打赏
  • 举报
回复
select * from table1 where to_char(datafield,'q')='52';

17,136

社区成员

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

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