oracle求时间差

云牧歌 2011-08-09 05:17:16
我有一条简单的sql语句string sql2= @"select * from SJ_INFORMATION order by REAGENTID ASC ";我现在要只查询当前系统时间已经超过EFFECTIVEDATE(EFFECTIVEDATE是表SJ_INFORMATION中的一个字段,该字段是20011-8-8的字符串类型)的数据 请问这样的sql语句该怎么写? 在线等回答!
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yelang 2011-08-10
  • 打赏
  • 举报
回复

string sql2= @"select * from SJ_INFORMATION where to_date(REAGENTID,'YYYY-MM-DD')>=to_date('20011-8-8','YYYY-MM-DD')";
熙风 2011-08-10
  • 打赏
  • 举报
回复
噢,上面写错了,,应该是>=
熙风 2011-08-10
  • 打赏
  • 举报
回复


string sql = @"select * from SJ_INFORMATION where EFFECTIVEDATE<='"+DateTime.Now.toString("yyyy-MM-dd")+"'order by REAGENTID ASC


就这样就可以了
云牧歌 2011-08-10
  • 打赏
  • 举报
回复
string sql2 = @"select * from SJ_INFORMATION where to_date(EFFECTIVEDATE,'YYYY-MM-DD') >= to_date(sysdate,'YYYY-MM-DD')"; 这么写还是提示"文字与格式字符串不匹配"
江湖菜鸟 2011-08-09
  • 打赏
  • 举报
回复
EFFECTIVEDATE 应该是这个字段的文本信息不正确,坚信一下该字段的文本信息是否都可以转换成时间格式
江湖菜鸟 2011-08-09
  • 打赏
  • 举报
回复
string sql = @"select * from SJ_INFORMATION where to_date(sysdate,'yyyy-mm-dd')>to_date(EFFECTIVEDATE,'yyyy-mm-dd') order by REAGENTID ASC";
云牧歌 2011-08-09
  • 打赏
  • 举报
回复
说错了 EFFECTIVEDATE是"20011-08-08"这种类型的字符串
zhouxin5 2011-08-09
  • 打赏
  • 举报
回复
20011-8-8这样的类型好像不行吧!
云牧歌 2011-08-09
  • 打赏
  • 举报
回复
string sql = @"select * from SJ_INFORMATION where to_date(EFFECTIVEDATE,'yyyy-mm-dd')- to_date(sysdate,'yyyy-mm-dd') >0 order by REAGENTID ASC"; 我是这样写的 但是提示"文字与格式字符串不匹配" 有没有oracle高手给指正指正 谢谢啦!
LMAOhuaNL 2011-08-09
  • 打赏
  • 举报
回复
查询后面加where EFFECTIVEDATE>GETDATE()
这样20011-8-8转换成系统事件一样的类型,但是还有处理一下你的20011-8-8才能进行比较

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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