查询问题

darker 2002-07-24 10:39:04
我在SQL表中有一时间字段 格式为2002-7-24 10:13:00

我现在做查询用到了此字段 从客户端得到年和月

那我怎么能把得到的年和月与这一字段进行检索呢?

我用了like 是不是不支持时间型字段,

请大家帮我想一个主意 解决一下!
...全文
41 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2002-07-24
  • 打赏
  • 举报
回复
grsy(好梦成真) 说得没错。
select * from v_部门内信息 where year(归档时间)="2002" and month(归档时间)="7"
或者将时间换成上一页面传过来的值。select * from v_部门内信息 where year(归档时间)="&request.form("year")&" and month(归档时间)="&request.form("month")&"
如果是用oracle。则要这样写
select * from v_部门内信息 where to_char(归档时间,'yyyy-mm')='"&request.form("year")&" and month(归档时间)="&request.form("month")&"'
如果月1,则要转换成01。有多中形式自己看着办咯
grsy 2002-07-24
  • 打赏
  • 举报
回复
日期在sql server 2000中是以字符串形式存储的,直接用字符串比较形式就行了。
dapper 2002-07-24
  • 打赏
  • 举报
回复
试试这样:

select * from v_部门内信息 where str(year(归档时间))+'-'+str(month(归档时间))='2002-7'
CSDN_HSB 2002-07-24
  • 打赏
  • 举报
回复
select * from v_部门内信息 where year(归档时间)='"&year(request("vdl")&"' and month(归档时间)='"&month(request("vd1"))&"'
darker 2002-07-24
  • 打赏
  • 举报
回复
select * from v_部门内信息 where year(归档时间)+'-'+month(归档时间)=2002-7

我按照你的 却不能查询到信息,表中已有!

说说其它方法吧!
freezwy 2002-07-24
  • 打赏
  • 举报
回复
方法很多,介绍一个笨的:
客户端的组合成字符串,比如vd1="2002-7"
sql中where year(字段)+'-"+month(字段)
darker 2002-07-24
  • 打赏
  • 举报
回复
谢各位的指点,我自己这样实现了:

select * from 合同 where year(归档)*100+month(归档)='s1*100+s2'
leeeel 2002-07-24
  • 打赏
  • 举报
回复
where yourdataFeild between year+'-'+month+'-'+"01" and year+'-'+(month+1)+'-'+"01"
...总之构造时间后再用SQL语句进行时间比较,在字段上的运算不能动用SQL的索引。。
上面的所以答案都是对的,但在大型资料库中速度会很慢!
leeeel 2002-07-24
  • 打赏
  • 举报
回复
where yourdataFeild between year+'-'+month+'-'+"01" and year+'-'+(month+1)+'-'+"01"
...总之构造时间后再用SQL语句进行时间比较,在字段上的运算不能动用SQL的索引。。
上面的所以答案都是对的,但在大型资料库中速度会很慢!

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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