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

机房收费系统中的收取金额查询和余额退还信息查询窗体中,最重要的把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语句没有正确执行时,可能是数据类型有冲突!



评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值