SQL从日期列计算周数

SQL从日期列计算周数,sql,oracle,date,Sql,Oracle,Date,我有以下数据库模式 事实(报告编号、报告名称、装载日期) Load\u Date是(numbertype)列,具有 YYYYMMDD格式的日期记录 我需要使用已经存在的日期打印每行的周数 装货日期。因为它已经是number类型,所以我不必将它从date转换为char 输出应该是 **周数|报告编号|报告名称试试看 select ReportNo,ReportName,to_char(to_date(Load_Date,'yyyymmdd'),'ww') from Facts 请定义“周数”-一

我有以下数据库模式 事实(报告编号、报告名称、装载日期)

Load\u Date是(numbertype)列,具有 YYYYMMDD格式的日期记录

我需要使用已经存在的日期打印每行的周数 装货日期。因为它已经是number类型,所以我不必将它从date转换为char

输出应该是 **周数|报告编号|报告名称

试试看

select ReportNo,ReportName,to_char(to_date(Load_Date,'yyyymmdd'),'ww') from Facts

请定义“周数”-一年中的ISO周?一年中的一周(自1月1日起每隔7天)?一个月的哪一周?还是别的什么?另外,请注意,以数字格式存储日期是自找麻烦的——您放弃了内置的有效性检查,更不用说日期/时间不是这样工作的。事实上,任何“周数”计算(基于月初起的天数)以外的“周数”计算都需要将日期转换为
类型,除非您想自己做一些绝对疯狂的数学计算(20130228之后的下一个值是20130301)。值得注意的是,to_char(,“ww”)的结果依赖于区域设置。