oracle中日期与时间的问题 各位多多指教 谢谢 (急!急!急!急!急!急!)

dihai2000 2002-12-14 03:41:56
因为用ASP查询Oracle中的数据 例如日期可以这样子写
Select * from table where MyDate Between to_date('" & txt_from_Date & "', 'YYYY/MM/DD') AND to_date('" & txt_to_Date & "', 'YYYY/MM/DD')

这个是没问题的 但是时间呢 我该怎么写呢
在客户端提交的时间数据是这种格式的 例如:23:59:59

我又不能这样写 苦恼中!

Between to_date('" & txt_from_time & "', 'HH:MM:SS') AND to_date('" & txt_to_Time & "', 'HH:MM:SS')

那我该怎么写呢 或是还有其他的好一点的函数吗? 诸位请指教 小弟急!解决一定加分 详细一点的贴上代码好吗?谢谢!
...全文
26 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
dihai2000 2002-12-16
  • 打赏
  • 举报
回复
to ATGG and beckham
你们说的有道理 我已经直接比较它了 没加任何函数
好了 谢谢大家 给分了 只是这个帖子有好多人关注
分不够给 我再开一个新贴给分。谢谢大家的帮助!
ATCG 2002-12-16
  • 打赏
  • 举报
回复
既然是这样,完全没有必要转换类型,直接对字符串比较大小即可
如:
字段 between '210407' and '230407'
beckhambobo 2002-12-16
  • 打赏
  • 举报
回复
本人也是做asp,对你的表结构有点问题,为何不把日期与时间合一起呢,对于代码方面容易维护
beckhambobo 2002-12-16
  • 打赏
  • 举报
回复
sSQL=sSQL & " AND ITRN_HIS.ITRN_HIS_TIME BETWEEN to_char( to_date('"& txt_from_Time & "','hh24:mi:ss'), 'hh24miss') AND to_char(to_date('"& txt_to_Time & "','hh24:mi:ss'), 'hh24miss')"

如有问题可以发信息给我
dihai2000 2002-12-16
  • 打赏
  • 举报
回复
哦 不好意思 我说错了 应该是 例如230407 这种格式的 是varchar2(6)
ATCG 2002-12-16
  • 打赏
  • 举报
回复
你的字段是 vArchar2(6),说明长度是6 ,怎么可能是0:00:00的格式呢?
dihai2000 2002-12-16
  • 打赏
  • 举报
回复
表里面的字段类型是0:00:00的,varchar2(6)
我在客户端提交时的时间格式也是 0:00:00的
我用tochar() 只是想比较它的大小
因为我没别的函数来比较了 又不能用to_date()
ATCG 2002-12-16
  • 打赏
  • 举报
回复
你实际保存在表里面的字段的实际内容是怎么样的?
你的字段是字符串型的还是日期型的?
dihai2000 2002-12-16
  • 打赏
  • 举报
回复
哦 大虾我贴出来了 忘了说一点了 我在客户端提交时
得到的时间格式是这样子的 23:59:59

我用 sSQL=sSQL & " AND ITRN_HIS.ITRN_HIS_TIME BETWEEN to_char('" & 0:00:00 & "', 'hh24:mi:ss') AND to_char('" & 23:59:59 & "', 'hh24:mi:ss')" 可是这样子有错误 你帮忙给看看 谢谢。
ATCG 2002-12-16
  • 打赏
  • 举报
回复
把你的字段的实际内容贴出来,!
dihai2000 2002-12-16
  • 打赏
  • 举报
回复
sSQL=sSQL & " AND ITRN_HIS.ITRN_HIS_DATE BETWEEN to_date('" & txt_from_Date & "', 'YYYY/MM/DD') AND to_date('" & txt_to_Date & "', 'YYYY/MM/DD')"

sSQL=sSQL & " AND ITRN_HIS.ITRN_HIS_TIME BETWEEN to_char('" & txt_from_Time & "', 'hh24:mi:ss') AND to_char('" & txt_to_Time & "', 'hh24:mi:ss')"

我现在是这么用的 可是运行时第二行有错误 第一行还好。那我该怎么写呢?
ATCG 2002-12-16
  • 打赏
  • 举报
回复
你把字段地实际内容帖出来看看
huangcaibing 2002-12-16
  • 打赏
  • 举报
回复
比较to_char('20020112122059','YYYYMMDDHH24MISS')
这个不行吗?

到底你的那两个字段存的什么内容,举例

dihai2000 2002-12-16
  • 打赏
  • 举报
回复
to_date('20020112122059','YYYYMMDDHH24MISS')
这样子写是可以 但是问题是我有两个字段啊
也就是说一个是日期的 用 between todate()
还有一个字段 也就是时间的 又不能用between totime()
要是有这个函数就好了
我用了
to_char(日期字段1,'hh24:mi:ss')
比较也不行啊 大虾们我该怎么办呢?
那我应该怎么样比较时间的字段呢? 请指教!
huangcaibing 2002-12-15
  • 打赏
  • 举报
回复
'hh24:mm:ss'这就是时间格式,
查一本pl/sql的书,什么函数都有介绍
watt 2002-12-14
  • 打赏
  • 举报
回复
to_date('20020112122059','YYYYMMDDHH24MISS')
jiezhi 2002-12-14
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=37937
flyhot 2002-12-14
  • 打赏
  • 举报
回复
gz
jiezhi 2002-12-14
  • 打赏
  • 举报
回复
或者
你把服务器端的日期格式改成和客户端一样:
在init.ora中设置NLS_DATE_FORMATE='YYYY:MM:DD HH24:MM:SS'
注册表中\oracle_homeX\添加字串NLS_DATE_FORMATE,值同上
重新启动机器
jiezhi 2002-12-14
  • 打赏
  • 举报
回复
to_date(mydate,'yyyy/mm/ddhh24:mm:ss')

17,377

社区成员

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

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