请问这个SQL语句怎么写?
来源:百度知道 编辑:UC知道 时间:2024/05/05 09:07:03
我的数据库(access)有一个日期型字段名为"birthday",用来表示出生年月日。格式1900-01-01
现在我想实现复合查询,文本框里输入年龄X到Y之间 就能查出年龄在这个区间的相应的记录 文本框的命名分别为age1 age2
问题是SQL语句怎么写?
sql="SELECT * FROM jg WHERE "
If name<>"" Then sql=sql&" name="&name&" AND"
If sex<>"" Then sql=sql&" sex='"&sex&"' AND"
.
.
.
.
If age1<>""and age2<>"" Then sql=sql&" birthday between 下面该怎么写??
谢谢!
现在我想实现复合查询,文本框里输入年龄X到Y之间 就能查出年龄在这个区间的相应的记录 文本框的命名分别为age1 age2
问题是SQL语句怎么写?
sql="SELECT * FROM jg WHERE "
If name<>"" Then sql=sql&" name="&name&" AND"
If sex<>"" Then sql=sql&" sex='"&sex&"' AND"
.
.
.
.
If age1<>""and age2<>"" Then sql=sql&" birthday between 下面该怎么写??
谢谢!
If age1<>""and age2<>"" Then sql=sql&" birthday between 下面该怎么写??
If age1<>""and age2<>"" Then sql=sql&" birthday between format(trim(age1.text),'yyyy-mm-dd') and format(trim(age2.text),'yyyy-mm-dd')
恩,需要取两个时间的交集!!
where birthday='" & age1 & "' or birthday='" & age2 & "' or (birthday>'" & age1 & "' and birthday<'" & age2 & "')
大体意思就是这样,先取出两端的时间,然后在加上两者之间的时间段,因为两者时间都符合查询的要求!!
试试!!
不要用between来写.用Access里面的函数
DateDiff()
select * from jg where
datediff('y',now,birthday)>age1 and datediff('y',now,birthday)<age1
关于函数的解释为:
===========================
DateDiff 函数
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateD