当前位置:主页>仓库管理软件> 列表

oralce+sql,求会员生日范围在当前月份日期和之后3

记账软件版1楼: oralce+sql,求会员生日范围在当前月份日期和之后3天的会员
sql server的 看了几个,不会翻译,
请帮忙看oralce 的如何写?

2楼: 当月
select * from tablename where to_char(dt,''yyyymm'')=to_char(sysdate,''yyyymm'')
之后3天的
select * from tablename where dt between to_char(sysdate,''yyyymmdd'') and to_char(sysdate+3,''yyyymmdd''); 如金蝶财务软件的好处

3楼: 300分,一分都不能少啊!

4楼: [:D]我流口水了。

5楼: SQL:
select * from TableName where 日期 between GetDate() and GetDate()+3

6楼: 哈哈,suninrain没去掉年份!

记账软件版7楼: suninrain的通 不过
查询也不对

8楼: 首先确定你的表日期字段是什么类型的。...
如果是日期型的..select * from TableName where sysdate如果不是转换一下。.to_date..然后按整型处理。..没环境...自己试试吧[:D]

9楼: 我可以保证如上各位的sql都是错的,
我要查的是会员的生日!!我输入系统日期和此后3天的日期,
难道我取的是这3天出生的会员么,可笑。
是年份不同,而出生日期在我选定的日期范围内 的

10楼: 楼主要把问题说清楚嘛,这不就好解决了吗?
看看下面的,我试过了,可以的!
SELECT * from TableName where substring(cast(生日 as char(10)),1,6) between substring(cast(Getdate() as char(10)),1,6) and substring(cast(getdate()+3 as char(10)),1,6)

11楼: 我还是那句话,用字符型字段表示会员的出生日期比较好解决这个问题。
首先取当前日期和当前日期+3天的日期,然后到表中查找月、日那几位包含在这个范围的会员记录。至于ORACLE中怎么写,我没有使用过,帮不上忙了![:(]
300分就不要了,来300人民币吧![:D]

12楼: To shine007:
看清楚是Oracle,而且你的还是错误的(生日和年份是无关的),SQL SERVER中我早写过:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3151285
我不知道Oracle中的日期函数,所以就不写了。 如人事管理软件下载

13楼: tp ak_2005,
  你看我的是错误的吗?我知道生日和年份是无关的,所以转成字符型的嘛.
我在我的SQLServer上执行完全可以的.
  我看了你写的那个了,错了,
  如果生日是9月30,用你的那个还行吗?

记账软件版14楼: 呵呵,你只能选出当前年份(也就是GetDate()得到的年份)出生的人的生日。
----------------------------------------------------------------------
>>如果生日是9月30,用你的那个还行吗?
哈哈,我早考虑到了的,你没看见我两个地方都加了3吗?~!
你测试下不就知道正不正确了?!

不说了,楼主要的Oracle下的东西.

15楼: [img]http://www.delphibbs.com/keylife/images/u135391/未命名4.JPG[/img]

16楼: 多谢shine007,ak,荷大哥。
原来思路走了死角,多谢诸位提醒,把日期转成字符串比较,呵呵
SELECT mb_birthday from member
where substr(to_char(mb_birthday,''yyyymmdd''),5,4)
between substr(to_char(sysdate,''yyyymmdd''),5,4)
and substr(to_char(sysdate+3,''yyyymmdd''),5,4)
这是oralce的写法,有用的着的看看吧。
分可不好分,
shine多给点,
ak和荷大哥少拿点,包涵。
写个sql就300块,呵呵,荷大哥要是有这好事,你不早发财了。嘿嘿

17楼: 思路走了死角,多谢诸位提醒
SELECT mb_birthday from member
where substr(to_char(mb_birthday,''yyyymmdd''),5,4)
between substr(to_char(sysdate,''yyyymmdd''),5,4)
and substr(to_char(sysdate+3,''yyyymmdd''),5,4)
这是oralce的写法。
shine多给点,看了他的sql有点启发,
ak和荷大哥多包涵。
写个sql就300块,荷大哥有这好事下次叫我,这次50块我给你存上了