Foxtable(狐表)用户栏目专家坐堂 → 关于日期时间转化比较的问题


  共有10725人关注过本帖树形打印复制链接

主题:关于日期时间转化比较的问题

帅哥哟,离线,有人找我吗?
gzdw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
关于日期时间转化比较的问题  发帖心情 Post By:2012/2/13 12:33:00 [只看该作者]

有一个简单的表,其中“日期时间”列包括日期及时间的数据。
现在想统计日期为“2011-12-31”的记录数
使用以下方法却得不到正确数。

Dim s1 As Integer
Dim s2 As Integer

Dim cmd As New SQLCommand
cmd.CommandText = "Select count(序号)  From {测试} where  [日期时间] = #2011-12-31# "
s1= cmd.ExecuteScalar()

cmd.CommandText = "Select count(序号)  From {测试} where  [日期时间] > #2011-12-30# and  [日期时间] < #2012-1-1#"
s2= cmd.ExecuteScalar()
Output.Show(s1)
Output.Show(s2)

执行后,s1为0,s2为47。
而直接从表中数数为26。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/2/13 12:37:00 [只看该作者]

日期列的数据是DateLongTime类型的。

 回到顶部
帅哥哟,离线,有人找我吗?
gzdw
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2012/2/13 12:42:00 [只看该作者]

主要问题是用第二个表达式还是得不到正确的结果?(第一个SQL明显是错的)

把“DateLongTime”类型的日期数据,转化为“date”类型应该怎么写,并加入到这个SQL表达式中?

 

[此贴子已经被作者于2012-2-13 12:43:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/2/13 12:46:00 [只看该作者]

Dim s2 As Integer
Dim cmd As New SQLCommand
cmd.CommandText = "Select count(序号)  From {测试} where  [日期时间] >= #2011-12-31 00:00:00# And [日期时间] < #2012-01-01 00:00:00#"
s2= cmd.ExecuteScalar()
Output.Show(s2)
[此贴子已经被作者于2012-2-13 12:47:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
gzdw
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2012/2/13 12:52:00 [只看该作者]

这个表达式是正确。

只是我在实际应用时,开始时间及结束时间都变量,却都是'date"格式, 如何转换?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/13 13:01:00 [只看该作者]

Dim d As Date = date.now
Dim s As String = Format(d,"yyyy-MM-dd hh:mm:ss")
output.show(s)

 回到顶部
帅哥哟,离线,有人找我吗?
gzdw
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2012/2/13 13:03:00 [只看该作者]

谢谢!

 回到顶部