由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 请问如何算出这个天数来
相关主题
[转载] Java/JSP/Servlets... and Database(Oracle/DB2)sql question
HELP!!!Connect to MySQL in JSPsql query question
Desperate help neede: DB2 connection in JSP Through JDBC driverHow to find intersection of two tables
Question 1: refresh view of database?请教一个表的设计问题
明白Re: AW and Shuke Re: Can I...问个笨问题
SQL Server Express 里面有 Database/Server Audit Specification 吗?SSRS 牛人请进
问个很挠头的简单问题oracle help?
两个Excel上的问题Help!!! constraint in inputting data
相关话题的讨论汇总
话题: date话题: table话题: my话题: mmddyyyy话题: 天数
进入Database版参与讨论
1 (共1页)
M*******r
发帖数: 522
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
c***y
发帖数: 114
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中只允许出
: 现两个"?". 请问如何把这个天数差算出来.

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

【在 c***y 的大作中提到】
: 天数差怎么是to_date-to_date?
s***e
发帖数: 284
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中只允许出
: 现两个"?". 请问如何把这个天数差算出来.

M*******r
发帖数: 522
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出什么了?
s***e
发帖数: 284
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是别人的,不可动,现在怎么求这个天数...

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

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

n*******s
发帖数: 4
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
M*******r
发帖数: 522
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

n*******s
发帖数: 4
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.

1 (共1页)
进入Database版参与讨论
相关主题
Help!!! constraint in inputting data明白Re: AW and Shuke Re: Can I...
求教...初级问题SQL Server Express 里面有 Database/Server Audit Specification 吗?
how to see all the tables in SQL*PLUS?问个很挠头的简单问题
foreign key reference to two tables? how to do it?两个Excel上的问题
[转载] Java/JSP/Servlets... and Database(Oracle/DB2)sql question
HELP!!!Connect to MySQL in JSPsql query question
Desperate help neede: DB2 connection in JSP Through JDBC driverHow to find intersection of two tables
Question 1: refresh view of database?请教一个表的设计问题
相关话题的讨论汇总
话题: date话题: table话题: my话题: mmddyyyy话题: 天数