Redian新闻
>
请问如何算出这个天数来
avatar
请问如何算出这个天数来# Database - 数据库
M*r
1
User 输入start date/end date, 现在算出相差的天数.
*****************************************************
select (to_date('?','mmddyyyy')-to_date('?','mmddyyyy'))
from MY_TABLE
where due_date<=to_date('?','mmddyyyy')
AND due_date>=to_date('?','mmddyyyy')
*****************************************************
现在问题是前面的JSP只给pass两个parameter, 第一个是end date,第二个是start date.
怀疑如果这个sql就这样写的话,后两个"?"就得不到赋值. 也就是说,整段sql中只允许出
现两个"?". 请问如何把这个天数差算出来.
新手上路,请多指教. //bow
avatar
c*y
2
天数差怎么是to_date-to_date?

【在 M*******r 的大作中提到】
: User 输入start date/end date, 现在算出相差的天数.
: *****************************************************
: select (to_date('?','mmddyyyy')-to_date('?','mmddyyyy'))
: from MY_TABLE
: where due_date<=to_date('?','mmddyyyy')
: AND due_date>=to_date('?','mmddyyyy')
: *****************************************************
: 现在问题是前面的JSP只给pass两个parameter, 第一个是end date,第二个是start date.
: 怀疑如果这个sql就这样写的话,后两个"?"就得不到赋值. 也就是说,整段sql中只允许出
: 现两个"?". 请问如何把这个天数差算出来.

avatar
M*r
3
sorry, 没说清楚,to_date() 只是一个function, 转换date格式的...
改成start date/end date, 省得混淆。

【在 c***y 的大作中提到】
: 天数差怎么是to_date-to_date?
avatar
s*e
4
你select出什么了?

【在 M*******r 的大作中提到】
: User 输入start date/end date, 现在算出相差的天数.
: *****************************************************
: select (to_date('?','mmddyyyy')-to_date('?','mmddyyyy'))
: from MY_TABLE
: where due_date<=to_date('?','mmddyyyy')
: AND due_date>=to_date('?','mmddyyyy')
: *****************************************************
: 现在问题是前面的JSP只给pass两个parameter, 第一个是end date,第二个是start date.
: 怀疑如果这个sql就这样写的话,后两个"?"就得不到赋值. 也就是说,整段sql中只允许出
: 现两个"?". 请问如何把这个天数差算出来.

avatar
M*r
5
这么说吧,User Input, End_Date=01012006, Start_Date=01012004
JSP把这两个值赋给{ select (to_date('?','mmddyyyy')-to_date('?','mmddyyyy'))}
中的第一个问号和第二个问号,就应该能计算出这两个日期之间相差
多少天。
问题是,JSP只给两个值,而我的sql如果要照下面那样写的话会有4个问号。
where clause里面的两个问号是必须的 -- 这样就会导致后面两个问号无值
可赋。JSP是别人的,不可动,现在怎么求这个天数...

【在 s***e 的大作中提到】
: 你select出什么了?
avatar
s*e
6
我是奇怪你这个查询跟
select 6
from TABLE
一样,根本没TABLE什么事啊

【在 M*******r 的大作中提到】
: 这么说吧,User Input, End_Date=01012006, Start_Date=01012004
: JSP把这两个值赋给{ select (to_date('?','mmddyyyy')-to_date('?','mmddyyyy'))}
: 中的第一个问号和第二个问号,就应该能计算出这两个日期之间相差
: 多少天。
: 问题是,JSP只给两个值,而我的sql如果要照下面那样写的话会有4个问号。
: where clause里面的两个问号是必须的 -- 这样就会导致后面两个问号无值
: 可赋。JSP是别人的,不可动,现在怎么求这个天数...

avatar
M*r
7
hoho, 其实是有关系的。要从table里选取一组数据,然后根据天数算平均值。
选取数据谁都会,也懒得在这里跟大家讲。问题的关键在于怎么把天数算出来。
有什么高见么?

【在 s***e 的大作中提到】
: 我是奇怪你这个查询跟
: select 6
: from TABLE
: 一样,根本没TABLE什么事啊

avatar
n*s
8
Not sure if I understand your question correctly.
If you just want to know the difference between INPUT start_date and end_date,
you should select from DUAL. Looks like you are not asking for this though.
If you have at least these three columns in your MY_TABLE table,
MY_TABLE.START_DATE, MY_TABLE.END_DATE, MY_TABLE.DUE_DATE,
If you want to know when MY_TABLE.DUE_DATE falls in between the INPUT
start_date and end_date, the difference between MY_TABLE.START_DATE and
MY_TABLE.END_DATE.
Your input
avatar
M*r
9
MY_TABLE里只有一个Due_Date, 我现在要用这个Due_Date来跟User Input的
两个天数比较,如果Due_Date落在这两个日期中间,那么算个count(1),
然后根据天数算出平均值来。这就是为何不用dual而用MY_TABLE.
MY_TABLE里并没有start_date和end_date这样两个column.

【在 n*******s 的大作中提到】
: Not sure if I understand your question correctly.
: If you just want to know the difference between INPUT start_date and end_date,
: you should select from DUAL. Looks like you are not asking for this though.
: If you have at least these three columns in your MY_TABLE table,
: MY_TABLE.START_DATE, MY_TABLE.END_DATE, MY_TABLE.DUE_DATE,
: If you want to know when MY_TABLE.DUE_DATE falls in between the INPUT
: start_date and end_date, the difference between MY_TABLE.START_DATE and
: MY_TABLE.END_DATE.
: Your input

avatar
n*s
10
Hm, I wasn't thinking.
Is there anything like "$1", "$2" for the virtual parameters instead of
quesiton mark for JDBC plus ORACLE?

【在 M*******r 的大作中提到】
: MY_TABLE里只有一个Due_Date, 我现在要用这个Due_Date来跟User Input的
: 两个天数比较,如果Due_Date落在这两个日期中间,那么算个count(1),
: 然后根据天数算出平均值来。这就是为何不用dual而用MY_TABLE.
: MY_TABLE里并没有start_date和end_date这样两个column.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。