简单问题求解答,请施以援手&得分

thor1080 2003-08-20 04:44:51
kssj和jssj是两个Date字段
我现在给出一个时间,若在kssj-〉jssj这一时间段的月份内,就是满足条件的纪录
比如kssj是"2003-07-05",jssj是"2003-09-05"

那么不管给出的是"2003-07-01",还是"2003-07-31",或者“2003-09-30”,都算是符合条件的,请问该怎么判断?
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
thor1080 2003-08-20
  • 打赏
  • 举报
回复
我尝试用replace写sql语句,写得很长,但是有些问题:
select .. from table where .. and replace(to_char(to_date('2003-11-3','yyyy-mm-dd'),'yyyy-mm'),'-','')>=replace(to_char(kssj,'yyyy-mm'),'-','') and replace(to_char(to_date('2003-11-3','yyyy-mm-dd'),'yyyy-mm'),'-','')<=replace(to_char(jssj,'yyyy-mm'),'-','');

如果不要最后那个and的内容,也就是:
select .. from table where .. and replace(to_char(to_date('2003-11-3','yyyy-mm-dd'),'yyyy-mm'),'-','')>=replace(to_char(kssj,'yyyy-mm'),'-','');
是可以出来正确结果的
加上最后那个and的内容,就什么都出不来,也不报错,就是出现一个
2
敲回车后就变成SQL>了
thor1080 2003-08-20
  • 打赏
  • 举报
回复
请问几位大虾有没有解决的好方法啊?
thor1080 2003-08-20
  • 打赏
  • 举报
回复
在kssj和jssj中的日期格式都是'2003-7-5','yyyy-mm-dd'这种的
请问怎么在判断中转成'yyyymm'这种格式啊?
sijian2001 2003-08-20
  • 打赏
  • 举报
回复
TO_CHAR (SYSDATE, 'YYYYMM') >= TO_CHAR (DATE1, 'YYYYMM')
AND TO_CHAR (SYSDATE, 'YYYYMM') <= TO_CHAR (DATE2, 'YYYYMM')
lianhg 2003-08-20
  • 打赏
  • 举报
回复
1)to_char(kssj) --> "2003-07"
2) > to_char(kssj) or > to_char(jssj)
pluto74 2003-08-20
  • 打赏
  • 举报
回复
colname>=to_number(to_char(kssj,'yyyymm))

colname<=to_number(to_char(jssj,'yyyymm))
sijian2001 2003-08-20
  • 打赏
  • 举报
回复
TO_CHAR (SYSDATE, 'YYYYMM') >= TO_CHAR (DATE1, 'YYYYMM')
AND TO_CHAR (SYSDATE, 'YYYYMM') <= TO_CHAR (DATE2, 'YYYYMM')

17,377

社区成员

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

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