asp中的date函数返回直是6位的,如何与sql server中的datetime型(8位)匹配?

hanxiang 2000-08-05 07:21:00
我编一asp和sql server连接的数据库程序,想从库中查出所有日期为当天的纪录,
用下面语句:mysql="select * from 我的库名 where 日期 ="&Date
rs.open mysql,cn,1,1
其中sql库中的日期字段为datetime 型
可是,结果是一个也显不出来,原因是 sql server的日期是8位的(虽然显示的也是00-8-4 六位,但实际是以2000-8-4记得 ,asp中的date函数返回6位 00-8-4 )
如何实现我的目的呢?选出日期为当天的纪录

望各位高手赐教!
...全文
351 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mole 2000-09-06
  • 打赏
  • 举报
回复
对不起!刚才SQL语句中少打了四个单引号,应为:
Dim myDate As String
Dim sSQL
myDate=CStr(Date)

sSQL="SELECT * FROM 我的库名 WHERE 日期>='" & myDate & "' AND 日期<='" & myDate & " 23:59:59'"
mole 2000-09-06
  • 打赏
  • 举报
回复
你可以这样做:
Dim myDate As String
Dim sSQL
myDate=CStr(Date)

sSQL="SELECT * FROM 我的库名 WHERE 日期>=" & myDate & " AND 日期<=" & myDate & " 23:59:59"
cjlong 2000-09-04
  • 打赏
  • 举报
回复
这不关数据是几位的事,是你的SQL语句写的不对。现在的SQL语句是一字符串,而date为日期类型,lczddd说的对。应是:
dim mydata as string
mydata=cstr(date)

mysql="select * from 我的库名 where 日期 =#" & myData & "#"
rs.open mysql,cn,1,1

hhzh426 2000-09-02
  • 打赏
  • 举报
回复
date为日期类型,datetime为日期时间类型,与now()相同
在sql中处理2000-1-1为2000-1-1 00;00;00.000
你可以使用"select * from xxx where yyy>'" & date & "'",我试过,没有错的,
给我分吧!
lczddd 2000-08-09
  • 打赏
  • 举报
回复
:mysql="select * from 我的库名 where 日期 =#" & Date & "#"
rs.open mysql,cn,1,1
ring 2000-08-08
  • 打赏
  • 举报
回复
我认为您的看法是错误的
sql server中的日期是8位的,只是因为它存储日期需要8个字节,并不是它显示出来的是8位的意思,日期的显示只和区域设置有关,实际上日期的存储方式应该是一个很长的整数,记录的是距离某一天的秒数(也许我记错了),显示的时候系统才把它算出来,并根据计算机中的区域设置显示成我们看得懂的格式

如果你只是要选择当天的记录,用以下语句保证没错
select * from 我的库名 where 日期 = getdate()
popoli 2000-08-08
  • 打赏
  • 举报
回复
mysql="select * from yourdatabase where 日期='"&year(now())&"-"&month(now())&"-"&day(now())&"'"
manganese 2000-08-08
  • 打赏
  • 举报
回复
我建议你自己写一个函数,取出自己需要的日期和时间组合成合适的字符串,我就是这么干的,挺好用.
HaoGe 2000-08-07
  • 打赏
  • 举报
回复
用Sql profile 看看传上去的参数是多少。
不过你的语句好像少了引号。再不行就用Datepart一个个的拼吧。
Tyro 2000-08-07
  • 打赏
  • 举报
回复
thardway说的可能是对的,我这里date取出来的年份也是4位

如果还是不行,在服务器把控制面板中的区域设置的日期设置改一下试试!
ustczhy 2000-08-07
  • 打赏
  • 举报
回复
您可以把 日期字段缺省值设置为GETDATE(),试试看,祝您成功。
thardway 2000-08-05
  • 打赏
  • 举报
回复
这是由于pws在98中的关系,如果你用iis4.0以上的话取出的时间就是四位的。
这是个两千年问题哦。你分别用年月日连接起来做就可以。
Focus_zhao 2000-08-05
  • 打赏
  • 举报
回复
你先把date返回的结果与"20"相连,形成新的字符串,即“20yy-mm-dd”,然后再用日期格式化函数newdate=formatdatetime(SQLdate,2) 其中newdate为格式化之后的日期,SQLdate为与"20" 相连后的日期。或者你直接用formatdatetime格式化date反回值看看吧。祝好运。

28,390

社区成员

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

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