在SQL中使用convert函数进行日期的查询


Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为yyyy-mm-dd格式)语句进行查询将无法得到正确结果,比如我们要查询2004年12月1日的会议信息,在输入2004-12-01时就不能得到查询结果,而这种查询又不能要求输入具体的hh:mm:ss.

此时我们需要使用convert函数,它可以将一种数据类型的表达式转换为另一种数据类型的表达式.此处我们先将数据库内的datetime类型转换为char类型,由于输入的参数是10位的,所以写成

select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,这样在查询时数据库得到参数后先自动将数据库内的信息转换为yyyy-mm-dd格式的10位字符,只要与参数相同即可返回查询结果.而convert中的121是指将datetime类型转换为char类型时获得包括世纪位数的4位年份
以上是我在开发中遇到的小困难的总结,如果写的有不正确的地方欢迎大家指教!

 

本文作者:



相关阅读:
php设计模式介绍之值对象模式
基于C# 网站地图制作
dede文章列表页调用TAG标签
CSS框架的利与弊(下)
CSS3教程(7):CSS3嵌入字体
一个简单计数器的源代码
XP折叠菜单&仿QQ2006菜单
Linux中的一个守护进程实验
JavaScript中判断函数是new还是()调用的区别说明
SSIS中的字符映射表转换组件
中科红旗Linux桌面7.0版引入QtSDK组件
Oracle statspack祥解
原创]保存的js无法执行的解决办法" target="_blank">[原创]保存的js无法执行的解决办法
ORACLE数据库查询表的基本信息
快速导航

Copyright © 2016 phpStudy |