欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql日期部类

更新时间: 2014-01-05 02:07:53 责任编辑: Author_N1

 

SQL日期类型

在做机房收费系统的时候,上下机,我觉得是我在整个系统中遇到最棘手的问题了,现在就给大家,分享一下,我是怎样解决的。

SQL中有3中数据类型是关于日期的,每一种的用法是不同的,当你用错了,就会出现下面这样的错误:

SQL的日期类型有以下几种:

机房收费系统用到了date datetime2(n)以及time(n),就这样的类型,我简单地说一下,大致有了了解,就可以熟练运用了,首先,举个列子,现在的时间是2013/9/15 21:32  ,

用date就是2013/9/15

用datetime2(0)就是2013/9/15 21:32:00

用time(0)那么就是21:32:00

记住n的值就是小数点的位数,一般不用精准计算的,用不到这个。

现在具体分析一下机房收费系统,是要计算收费时间的,我认为最简单的方法就是最有效的方法,不要将时间分开,直接就让2个日期相减就对了。

上机记录表(online)中是要修改的:

那么现在我在其中添加一列这样:

利用这组数据,问题就会迎难而解了。

代码如下:

    txtsql = "select * from online_info where cardno='" & Mod_Card & "'"                   'online表中删除数据
    Set mrc = ExecuteSQL(txtsql, msgtext)
    
    If Not mrc.EOF Then
        Ondate = mrc.Fields(9)
        mrc.Delete
    Else
        MsgBox "online表中没有这样一天记录", vbOKOnly + vbExclamation, "警告"
    End If
    If mrc.EOF = True Then
        MsgBox "line表没有数据可用", vbOKOnly + vbExclamation, "警告"
    Else
        Mod_ConsumeTime = DateDiff("n", Ondate, Now)       '得到的时间
    End If

这样看再用datediff函数轻而易举就可以解决隔天的时间问题。

 

 


 

1楼wangyy130昨天 22:02
慢慢积累,每一滴都为将来铺路!
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:07:53
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5986/
本文WWW.DOC100.NET DOC100.NET版权所有。