求一条日期sql语句,在线...

studyharding 2003-10-15 12:32:05
一个文本框填入日期。
一个下拉框为:周一、周二...周日

点击确定能够查询出:
例如:
下拉框选择周三,查询出输入日期所在周的,周三到周日的,所有记录。

在线等。Access数据库。
...全文
24 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jintianatxd 2003-10-16
  • 打赏
  • 举报
回复
tabName就是你的数据库里的表的名字
TabDate就是你的数据库日期项目的名字
以下是我尝试过的可以得到结果:

SELECT *
FROM tabName
where format(TabDate,"ww")=format("2003-10-15","ww") and weekday(TabDate)>3
yoki 2003-10-15
  • 打赏
  • 举报
回复
不好意思:应该是
select * from table1
where datepart(dw,DateCol)>=datepart(dw,'2002-10-01')
and datepart(wk,DateCol)=datepart(wk,'2002-10-01')

应该填上你的输入日期,先格式化

select * from table1
where datepart(dw,DateCol)>=datepart(dw,'"& format(strdate,"yyyy-mm-dd") &"')
and datepart(wk,DateCol)=datepart(wk,'"& format(strdate,"yyyy-mm-dd") &"')
xiaobird1 2003-10-15
  • 打赏
  • 举报
回复
DateCol这里应该填日期字段名吧。
为什么语句报错呢?
golden24kcn 2003-10-15
  • 打赏
  • 举报
回复
dim querydate as integer
dim BeginDay as string
dim EndDay as string

querydate=weekday(txt.text)
querydate=(cob.listindex + 1 )-querydate
begindate=dateadd(txt.text , querydate)
querydate=weekday(txt.text)
endday=dateadd(txt.text,7 - querydate)

sql="select * from table1 where dates between '"& begindate &"' and '"& enddate &"'"

试试吧,应该是对的,不过我没试,:P
yoki 2003-10-15
  • 打赏
  • 举报
回复
DATEPART
返回代表指定日期的指定日期部分的整数。

语法
DATEPART ( datepart , date )

参数
datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms


week (wk, ww) 日期部分反映对 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定义了 week 日期部分的开始数字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此处 xxxx 代表任一年。

weekday (dw) 日期部分返回对应于星期中的某天的数,例如:Sunday = 1、Saturday = 7。weekday 日期部分产生的数取决于 SET DATEFIRST 设定的值,此命令设定星期中的第一天。
yoki 2003-10-15
  • 打赏
  • 举报
回复
解释:
datepart(dw,DateCol)>=datepart(dw,'4') 表示礼拜3以后的

datepart(wk,DateCol)=datepart(wk,'4')表示同一个礼拜的
yoki 2003-10-15
  • 打赏
  • 举报
回复
select * from table1
where datepart(dw,DateCol)>=datepart(dw,'4')
and datepart(wk,DateCol)=datepart(wk,'4')

这里的4假设你选的是星期3
zybhappy 2003-10-15
  • 打赏
  • 举报
回复
mark
shaidanR 2003-10-15
  • 打赏
  • 举报
回复
前提条件是有输入的日期~
请问你所指的输入日期是what?
xiaobird1 2003-10-15
  • 打赏
  • 举报
回复
select * from TabName
where format (TabDate,"WW")=format ('#"&text_date.text&"#',"WW")
and weekday(tabName)>=3

这样好像不可以

本人对sql实在不熟

xiaobird1 2003-10-15
  • 打赏
  • 举报
回复
请问这个TabDate和tabName是什么?
jintianatxd 2003-10-15
  • 打赏
  • 举报
回复
select * from TabName
where format (TabDate,"WW")=format ('#查询出输入日期#',"WW")
and weekday(tabName)>=3

这个sql本人未试过,大概思路是这样:
用format (TabDate,"WW")=format ('#查询出输入日期#',"WW")选择出同一个星期的日期

weekday(tabName)>=3 选择出以后的天

7,762

社区成员

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

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