首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL日期部类

2013-10-08 
SQL日期类型在做机房收费系统的时候,上下机,我觉得是我在整个系统中遇到最棘手的问题了,现在就给大家,分享

SQL日期类型

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

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

SQL日期部类

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

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)中是要修改的:

SQL日期部类

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

SQL日期部类

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

代码如下:

    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
慢慢积累,每一滴都为将来铺路!

热点排行