起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 337|回复: 11

sql 比较日期 时间????[请求]

[复制链接]
发表于 2007-5-9 16:25:22 | 显示全部楼层 |阅读模式
nowTime := Business.Data.SysSrv.SysService.Time;
…….SQL.Text := 'select * from table  where '''+nowTime+''' between StartDay and EndDay';

请问SQL语句应该怎么写,能得到的数据日期范围在StartDay 和EndDay之间??

StartDay 和EndDay 均为日期类型;nowTime 取的是系统时间。
回复

使用道具 举报

发表于 2007-5-9 16:43:59 | 显示全部楼层
select * from table  where StartDay  <= '''+nowTime+''' and EndDay >= '''+nowTime+'''
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-9 16:49:14 | 显示全部楼层
这样不行,提示String类型和double类型不能相加!!!
回复 支持 反对

使用道具 举报

发表于 2007-5-9 16:52:42 | 显示全部楼层
select * from table  where StartDay  <= '''+SysUtils.FormatDateTime('yyyy-mm-dd', nowTime)+''' and EndDay >= '''+SysUtils.FormatDateTime('yyyy-mm-dd', nowTime)+'''
回复 支持 反对

使用道具 举报

发表于 2007-5-9 17:21:53 | 显示全部楼层
这样写也不行啊!!!!'select * from T_SHORTOUTSELLTIMESET where StartDay  <= '''+FormatDateTime('yyyy-mm-dd',nowTime)+''' and EndDay >= '''+FormatDateTime('yyyy-mm-dd',nowTime)+'''';
摆脱你们给一个正确一点的答案好不好啊!好几个人在等着那……

12.jpg

16.04 KB, 下载次数: 106

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-9 17:26:41 | 显示全部楼层
还是错误啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-9 17:35:24 | 显示全部楼层
用的是oracle'数据库!
回复 支持 反对

使用道具 举报

发表于 2007-5-9 17:43:09 | 显示全部楼层
4楼是sqlserver的

'select * from table  where StartDay  <= to_date('''+sysutils.DateTimeToStr(nowTime)+''',''yyyy-mm-dd'') and EndDay >= to_date('''+sysutils.DateTimeToStr(nowTime)+''',''yyyy-mm-dd'') '
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-9 17:46:58 | 显示全部楼层
我急需oracle'的啊!请尽快帮忙啊!!!!!!!!!!!!!!多谢了
回复 支持 反对

使用道具 举报

发表于 2007-5-9 18:05:20 | 显示全部楼层
这是SQL语法的问题,MSSQL和Oracle不太一样,可以参考 :http://bbs.justep.com/forum.php?mod=viewthread&tid=590
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-20 22:35 , Processed in 0.043951 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表