Sql语句中时间数据格式的转变

来源:互联网 发布:thumbdata4 软件 编辑:程序博客网 时间:2024/06/05 10:10

机房收费系统中的收取金额查询和余额退还信息查询窗体中,最重要的把sql语句写正确了。在sql语句中把两个时间数据相减。

    txtsql = "select * from ReCharge_Info where cast(convert(varchar,date) as datetime) between'" & DTPicker1.Value _            & "'and '" & DTPicker2.Value & "'order by date"

其中用到了 CAST:CAST ( expression AS data_type )

    CONVERT:CONVERT (data_type[(length)], expression [, style])

二者都是将某种数据类型的表达式显式转换为另一种数据类型,只是convert更倾向于时间数据类型的转变。

还是因为在数据库设计时设计时date字段数据类型的问题:


如果把date(char(10),null)改成date(datetime,null)就不需要cast()和convert()函数改变格式了。sql语句就可以直接写成:

    txtsql = "select * from ReCharge_Info where date between'" & DTPicker1.Value _            & "'and '" & DTPicker2.Value & "'order by date"

写到这发现和我的第一篇博客写的是一回事:http://blog.csdn.net/u010930340/article/details/10416333

一句话:sql语句没有正确执行时,可能是数据类型有冲突!